* 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.
This commit is contained in:
Benoit Jacob 2008-03-17 07:35:22 +00:00
parent af131fe770
commit 0ef1efdbdb
3 changed files with 10 additions and 10 deletions

View File

@ -111,7 +111,7 @@ struct ei_coeff_visitor
/** \internal /** \internal
* \brief Visitor computing the min coefficient with its value and coordinates * \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 <typename Scalar> template <typename Scalar>
struct ei_min_coeff_visitor : ei_coeff_visitor<Scalar> struct ei_min_coeff_visitor : ei_coeff_visitor<Scalar>
@ -130,7 +130,7 @@ struct ei_min_coeff_visitor : ei_coeff_visitor<Scalar>
/** \internal /** \internal
* \brief Visitor computing the max coefficient with its value and coordinates * \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 <typename Scalar> template <typename Scalar>
struct ei_max_coeff_visitor : ei_coeff_visitor<Scalar> struct ei_max_coeff_visitor : ei_coeff_visitor<Scalar>

View File

@ -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: For best performance, we recommend the following compilation flags:
<ul> <ul>
<li>\b GCC: \c -O3 \c -DNDEBUG \c -finline-limit=10000 </li> <li>\b GCC: \c -O3 \c -DNDEBUG \c -finline-limit=1000 </li>
<li>\b ICC: \c -O3 \c -DNDEBUG \c -xT \c -ipo \c -no-prec-div \c -no-inline-max-size </li> <li>\b ICC: \c -O3 \c -DNDEBUG \c -xT \c -ipo \c -no-prec-div \c -no-inline-max-size </li>
</ul> </ul>
@ -120,8 +120,8 @@ standalone "demos".
TODO: update this section; make web links TODO: update this section; make web links
Currently: Kalzium, Avogadro, KSpread(a bit), Krita(a bit) Currently: Kalzium, Avogadro, KSpread(a bit), Krita(a bit), KGLLib<br>
Planned: much more use in KOffice 2.1, Step (if we make Eigen good enough!) 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! Please tell us if you know of other interesting projects using Eigen!

View File

@ -28,17 +28,17 @@ void doSomeRankPreservingOperations(MatrixBase<Derived>& m)
{ {
for(int a = 0; a < 3*(m.rows()+m.cols()); a++) for(int a = 0; a < 3*(m.rows()+m.cols()); a++)
{ {
double d = Eigen::ei_random<double>(-1,1); double d = ei_random<double>(-1,1);
int i = Eigen::ei_random<int>(0,m.rows()-1); // i is a random row number int i = ei_random<int>(0,m.rows()-1); // i is a random row number
int j; int j;
do { do {
j = Eigen::ei_random<int>(0,m.rows()-1); j = ei_random<int>(0,m.rows()-1);
} while (i==j); // j is another one (must be different) } while (i==j); // j is another one (must be different)
m.row(i) += d * m.row(j); m.row(i) += d * m.row(j);
i = Eigen::ei_random<int>(0,m.cols()-1); // i is a random column number i = ei_random<int>(0,m.cols()-1); // i is a random column number
do { do {
j = Eigen::ei_random<int>(0,m.cols()-1); j = ei_random<int>(0,m.cols()-1);
} while (i==j); // j is another one (must be different) } while (i==j); // j is another one (must be different)
m.col(i) += d * m.col(j); m.col(i) += d * m.col(j);
} }