Fix up all doxygen warnings.

This commit is contained in:
Antonio Sanchez
2025-02-25 21:05:40 -08:00
parent 02f420012a
commit 339d7188ed
29 changed files with 628 additions and 2138 deletions

View File

@@ -17,7 +17,7 @@ especially if you got wrong results in statements where the destination appears
\section TopicPitfalls_alignment_issue Alignment Issues (runtime assertion)
%Eigen does explicit vectorization, and while that is appreciated by many users, that also leads to some issues in special situations where data alignment is compromised.
Indeed, since C++17, C++ does not have quite good enough support for explicit data alignment.
Indeed, prior to C++17, C++ does not have quite good enough support for explicit data alignment.
In that case your program hits an assertion failure (that is, a "controlled crash") with a message that tells you to consult this page:
\code
http://eigen.tuxfamily.org/dox/group__TopicUnalignedArrayAssert.html
@@ -40,7 +40,7 @@ for(...) { ... w = C * v; ...}
In this example, the type of C is not a \c MatrixXd but an abstract expression representing a matrix product and storing references to \c A and \c B.
Therefore, the product of \c A*B will be carried out multiple times, once per iteration of the for loop.
Moreover, if the coefficients of A or B change during the iteration, then C will evaluate to different values.
Moreover, if the coefficients of `A` or `B` change during the iteration, then `C` will evaluate to different values.
Here is another example leading to a segfault:
\code
@@ -72,7 +72,7 @@ Note that DenseBase::eval() is smart enough to avoid copies when the underlying
\section TopicPitfalls_header_issues Header Issues (failure to compile)
With all libraries, one must check the documentation for which header to include.
The same is true with %Eigen, but slightly worse: with %Eigen, a method in a class may require an additional <code>#include</code> over what the class itself requires!
The same is true with %Eigen, but slightly worse: with %Eigen, a method in a class may require an additional \c \#include over what the class itself requires!
For example, if you want to use the \c cross() method on a vector (it computes a cross-product) then you need to:
\code
#include<Eigen/Geometry>