diff options
Diffstat (limited to 'eigen/doc/special_examples')
4 files changed, 31 insertions, 1 deletions
diff --git a/eigen/doc/special_examples/CMakeLists.txt b/eigen/doc/special_examples/CMakeLists.txt index 3ab75db..101fbc5 100644 --- a/eigen/doc/special_examples/CMakeLists.txt +++ b/eigen/doc/special_examples/CMakeLists.txt @@ -19,3 +19,17 @@ 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") + + add_custom_command( + TARGET random_cpp11 + POST_BUILD + COMMAND random_cpp11 + ARGS >${CMAKE_CURRENT_BINARY_DIR}/random_cpp11.out + ) +endif() diff --git a/eigen/doc/special_examples/Tutorial_sparse_example.cpp b/eigen/doc/special_examples/Tutorial_sparse_example.cpp index 002f19f..830e196 100644 --- a/eigen/doc/special_examples/Tutorial_sparse_example.cpp +++ b/eigen/doc/special_examples/Tutorial_sparse_example.cpp @@ -9,6 +9,8 @@ void saveAsBitmap(const Eigen::VectorXd& x, int n, const char* filename); int main(int argc, char** argv) { + assert(argc==2); + int n = 300; // size of the image int m = n*n; // number of unknows (=number of pixels) diff --git a/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp b/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp index 7d820b4..bc18b01 100644 --- a/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp +++ b/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp @@ -8,7 +8,7 @@ typedef Eigen::Triplet<double> T; void insertCoefficient(int id, int i, int j, double w, std::vector<T>& coeffs, Eigen::VectorXd& b, const Eigen::VectorXd& boundary) { - int n = boundary.size(); + int n = int(boundary.size()); int id1 = i+j*n; if(i==-1 || i==n) b(id) -= w * boundary(j); // constrained coefficient diff --git a/eigen/doc/special_examples/random_cpp11.cpp b/eigen/doc/special_examples/random_cpp11.cpp new file mode 100644 index 0000000..33744c0 --- /dev/null +++ b/eigen/doc/special_examples/random_cpp11.cpp @@ -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 = [&] () {return distribution(generator);}; + + RowVectorXi v = RowVectorXi::NullaryExpr(10, poisson ); + std::cout << v << "\n"; +} |