mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* remove set(), revert to old behavior where = resizes
* try to be clever in matrix ctors and operator=: be lazy when we can, always allow to copy rowvector into columnvector, check the template parameters, try to factor the code better * add missing copy ctor in UnalignedType * fix bug in the traits of DiagonalProduct * renaming: EIGEN_TUNE_FOR_CPU_CACHE_SIZE * update the dox a little
This commit is contained in:
@@ -134,10 +134,12 @@ namespace adtl {
|
||||
|
||||
\section PreprocessorDirectives Preprocessor directives
|
||||
|
||||
The value of the following preprocessor tokens can be overwritten by defining them before including any Eigen's headers.
|
||||
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_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_TUNE_FOR_L2_CACHE_SIZE represents the maximal size in Bytes of L2 blocks. Since several blocks have to stay concurently in L2 cache, this value should correspond to at most 1/4 of the size of L2 cache.
|
||||
- \b EIGEN_DEFAULT_TO_ROW_MAJOR the default storage order for matrices becomes row-major instead of column-major.
|
||||
- \b EIGEN_TUNE_FOR_CPU_CACHE_SIZE represents the maximal size in Bytes of L2 blocks. Since several blocks have to stay concurently in L2 cache, this value should correspond to at most 1/4 of the size of L2 cache.
|
||||
- \b EIGEN_NO_STATIC_ASSERT replaces compile time static assertions by runtime assertions
|
||||
- \b EIGEN_MATRIXBASE_PLUGIN see \ref ExtendingMatrixBase
|
||||
|
||||
|
||||
@@ -214,13 +214,13 @@ Matrix3f mf = md.cast<float>();
|
||||
\endcode
|
||||
Note that casting to the same scalar type in an expression is free.
|
||||
|
||||
The sizes of a resizable destination matrix can be changed automatically using the Matrix::set() function:
|
||||
The destination matrix is automatically resized in any assignment:
|
||||
\code
|
||||
MatrixXf res(10,10);
|
||||
Matrix3f a, b;
|
||||
res = a + b; // does not work (no automatic resizing)
|
||||
res.set(a+b); // OK
|
||||
res = a+b; // OK: res is resized to size 3x3
|
||||
\endcode
|
||||
Of course, fixed-size matrices can't be resized.
|
||||
|
||||
|
||||
\subsection TutorialMap Map
|
||||
|
||||
Reference in New Issue
Block a user