From 0ef1efdbdb63b5ebcb3ebf096a8833b2dd43a790 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Mon, 17 Mar 2008 07:35:22 +0000 Subject: [PATCH] * cleanup: in public api docs, don't put \sa links to \internal things. (the global funcs in MathFunctions.h and Fuzzy.h don't count as internal). * Mainpage.dox. Add a few prospective Eigen users; change the recommended -finline-limit from 10000 to 1000. The reason is: it could be harmful to have a too big value here, couldn't it? (e.g. exceedingly large executables, cache misses). Looking at gcc, a value of 900 would exactly mean "determine the inlining of all functions as if they were marked with 'inline' keyword". So a value of 1000 seems a reasonable round number. In the benchmark that motivated this (TestEigenSolvers) a value of 400 is enough on my system. --- Eigen/src/Core/Visitor.h | 4 ++-- doc/Mainpage.dox | 6 +++--- doc/echelon.cpp | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Eigen/src/Core/Visitor.h b/Eigen/src/Core/Visitor.h index a3a2ef34e..d5b6fb167 100644 --- a/Eigen/src/Core/Visitor.h +++ b/Eigen/src/Core/Visitor.h @@ -111,7 +111,7 @@ struct ei_coeff_visitor /** \internal * \brief Visitor computing the min coefficient with its value and coordinates * - * \sa ei_coeff_visitor, ei_max_coeff_visitor, MatrixBase::minCoeff(int*, int*) + * \sa MatrixBase::minCoeff(int*, int*) */ template struct ei_min_coeff_visitor : ei_coeff_visitor @@ -130,7 +130,7 @@ struct ei_min_coeff_visitor : ei_coeff_visitor /** \internal * \brief Visitor computing the max coefficient with its value and coordinates * - * \sa ei_coeff_visitor, ei_min_coeff_visitor, MatrixBase::maxCoeff(int*, int*) + * \sa MatrixBase::maxCoeff(int*, int*) */ template struct ei_max_coeff_visitor : ei_coeff_visitor diff --git a/doc/Mainpage.dox b/doc/Mainpage.dox index b82e60c60..a64c9286e 100644 --- a/doc/Mainpage.dox +++ b/doc/Mainpage.dox @@ -75,7 +75,7 @@ Eigen is well tested with recent versions of GCC and ICC. Both GCC 4.2 and ICC g For best performance, we recommend the following compilation flags:
    -
  • \b GCC: \c -O3 \c -DNDEBUG \c -finline-limit=10000
  • +
  • \b GCC: \c -O3 \c -DNDEBUG \c -finline-limit=1000
  • \b ICC: \c -O3 \c -DNDEBUG \c -xT \c -ipo \c -no-prec-div \c -no-inline-max-size
@@ -120,8 +120,8 @@ standalone "demos". TODO: update this section; make web links -Currently: Kalzium, Avogadro, KSpread(a bit), Krita(a bit) -Planned: much more use in KOffice 2.1, Step (if we make Eigen good enough!) +Currently: Kalzium, Avogadro, KSpread(a bit), Krita(a bit), KGLLib
+Planned: much more use in KOffice 2.1, Step (if we make Eigen good enough!), OpenBabel (maybe) Please tell us if you know of other interesting projects using Eigen! diff --git a/doc/echelon.cpp b/doc/echelon.cpp index 677fd4af7..5b07db421 100644 --- a/doc/echelon.cpp +++ b/doc/echelon.cpp @@ -28,17 +28,17 @@ void doSomeRankPreservingOperations(MatrixBase& m) { for(int a = 0; a < 3*(m.rows()+m.cols()); a++) { - double d = Eigen::ei_random(-1,1); - int i = Eigen::ei_random(0,m.rows()-1); // i is a random row number + double d = ei_random(-1,1); + int i = ei_random(0,m.rows()-1); // i is a random row number int j; do { - j = Eigen::ei_random(0,m.rows()-1); + j = ei_random(0,m.rows()-1); } while (i==j); // j is another one (must be different) m.row(i) += d * m.row(j); - i = Eigen::ei_random(0,m.cols()-1); // i is a random column number + i = ei_random(0,m.cols()-1); // i is a random column number do { - j = Eigen::ei_random(0,m.cols()-1); + j = ei_random(0,m.cols()-1); } while (i==j); // j is another one (must be different) m.col(i) += d * m.col(j); }