mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add an example showing how to use C++11 random distributions
This commit is contained in:
@@ -19,3 +19,22 @@ if(QT4_FOUND)
|
||||
|
||||
add_dependencies(all_examples Tutorial_sparse_example)
|
||||
endif(QT4_FOUND)
|
||||
|
||||
check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11)
|
||||
if(EIGEN_COMPILER_SUPPORT_CPP11)
|
||||
add_executable(random_cpp11 random_cpp11.cpp)
|
||||
target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
|
||||
add_dependencies(all_examples random_cpp11)
|
||||
ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11")
|
||||
|
||||
get_target_property(random_cpp11_exec
|
||||
random_cpp11 LOCATION)
|
||||
add_custom_command(
|
||||
TARGET random_cpp11
|
||||
POST_BUILD
|
||||
COMMAND ${random_cpp11_exec}
|
||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/random_cpp11.out
|
||||
)
|
||||
|
||||
|
||||
endif()
|
||||
14
doc/special_examples/random_cpp11.cpp
Normal file
14
doc/special_examples/random_cpp11.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include <Eigen/Core>
|
||||
#include <iostream>
|
||||
#include <random>
|
||||
|
||||
using namespace Eigen;
|
||||
|
||||
int main() {
|
||||
std::default_random_engine generator;
|
||||
std::poisson_distribution<int> distribution(4.1);
|
||||
auto poisson = [&] (int) {return distribution(generator);};
|
||||
|
||||
RowVectorXi v = RowVectorXi::NullaryExpr(10, poisson );
|
||||
std::cout << v << "\n";
|
||||
}
|
||||
Reference in New Issue
Block a user