diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-08-10 11:37:23 +0100 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-08-10 11:37:23 +0100 |
commit | 76fbe94279bda314e717cb3f98b46b253d081993 (patch) | |
tree | 3610b5e67431da5956036c4cb0e4bbaae1afc33c /doc | |
parent | 530b3287695e136269eb10c553bb90392ef9a6ba (diff) |
Document EIGEN_NO_DEBUG macro.
I needed some doxygen tricks to get this to work, so it may not be worth it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/I00_CustomizingEigen.dox | 2 | ||||
-rw-r--r-- | doc/I11_Aliasing.dox | 8 | ||||
-rw-r--r-- | doc/QuickReference.dox | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/doc/I00_CustomizingEigen.dox b/doc/I00_CustomizingEigen.dox index fddd42348..d87fb8d6a 100644 --- a/doc/I00_CustomizingEigen.dox +++ b/doc/I00_CustomizingEigen.dox @@ -184,7 +184,7 @@ namespace adtl { \section PreprocessorDirectives Preprocessor directives You can control some aspects of Eigen by defining the following preprocessor tokens them before including any of Eigen's headers. - - \b EIGEN_NO_DEBUG disables Eigen assertions. Like NDEBUG but only affects Eigen's assertions. + - \b #EIGEN_NO_DEBUG disables Eigen assertions. Like NDEBUG but only affects Eigen's assertions. - \b EIGEN_DONT_VECTORIZE disables explicit vectorization when defined. - \b EIGEN_UNROLLING_LIMIT defines the maximal instruction counts to enable meta unrolling of loops. Set it to zero to disable unrolling. The default is 100. - \b EIGEN_DEFAULT_TO_ROW_MAJOR the default storage order for matrices becomes row-major instead of column-major. diff --git a/doc/I11_Aliasing.dox b/doc/I11_Aliasing.dox index f89c8337e..e026d02ce 100644 --- a/doc/I11_Aliasing.dox +++ b/doc/I11_Aliasing.dox @@ -46,7 +46,7 @@ the blocks <tt>mat.bottomRightCorner(2,2)</tt> and <tt>mat.topLeftCorner(2,2)</t contain the coefficient <tt>mat(1,1)</tt> at the centre of the 3-by-3 matrix \c mat . The next section explains how to solve this problem by calling \link DenseBase::eval() eval()\endlink. -Note that if \c mat were a bigger, then the blocks would not overlop, and there would be no aliasing +Note that if \c mat were a bigger, then the blocks would not overlap, and there would be no aliasing problem. This means that in general aliasing cannot be detected at compile time. However, Eigen does detect some instances of aliasing, albeit at run time. The following example exhibiting aliasing was mentioned in \ref TutorialMatrixArithmetic : @@ -61,15 +61,15 @@ Output: \verbinclude tut_arithmetic_transpose_aliasing.out Again, the output shows the aliasing issue. However, by default Eigen uses a run-time assertion to detect this and exits with a message like -\code +\verbatim void Eigen::DenseBase<Derived>::checkTransposeAliasing(const OtherDerived&) const [with OtherDerived = Eigen::Transpose<Eigen::Matrix<int, 2, 2, 0, 2, 2> >, Derived = Eigen::Matrix<int, 2, 2, 0, 2, 2>]: Assertion `(!ei_check_transpose_aliasing_selector<Scalar,ei_blas_traits<Derived>::IsTransposed,OtherDerived>::run(ei_extract_data(derived()), other)) && "aliasing detected during tranposition, use transposeInPlace() or evaluate the rhs into a temporary using .eval()"' failed. -\endcode +\endverbatim The user can turn Eigen's run-time assertions like the one to detect this aliasing problem off by defining the -EIGEN_NO_DEBUG macro, and the above program was compiled with this macro turned off in order to illustrate the +#EIGEN_NO_DEBUG macro, and the above program was compiled with this macro turned off in order to illustrate the aliasing problem. See \ref TopicAssertions for more information about Eigen's run-time assertions. diff --git a/doc/QuickReference.dox b/doc/QuickReference.dox index 73873da1a..d426b85de 100644 --- a/doc/QuickReference.dox +++ b/doc/QuickReference.dox @@ -181,7 +181,7 @@ vector[i] vector.y() vector.w() \endcode</td><td>\code matrix(i,j) -\endcode</td><td class="note">Range checking is disabled if \n NDEBUG or EIGEN_NO_DEBUG is defined</td></tr> +\endcode</td><td class="note">Range checking is disabled if \n NDEBUG or #EIGEN_NO_DEBUG is defined</td></tr> <tr><td>Coeff access without \n range checking</td> <td>\code |