diff options
author | 2008-06-13 07:53:45 +0000 | |
---|---|---|
committer | 2008-06-13 07:53:45 +0000 | |
commit | c90c77051f0dc26a18e4e4fe2d7b828fe559db67 (patch) | |
tree | 16e2442d14f3faa95cda419817ec5f30a4404bf8 /Eigen/src/Core/Product.h | |
parent | e3fac69f196a0a1c6ede9d510f2a4409399ad2c1 (diff) |
* make the _Flags template parameter of Matrix default to the corrected
flags. This ensures that unless explicitly messed up otherwise,
a Matrix type is equal to its own Eval type. This seriously reduces
the number of types instantiated. Measured +13% compile speed, -7%
binary size.
* Improve doc of Matrix template parameters.
Diffstat (limited to 'Eigen/src/Core/Product.h')
-rw-r--r-- | Eigen/src/Core/Product.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index 7af1bb3ed..39bda7e6e 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -163,9 +163,14 @@ template<typename T> class ei_product_eval_to_column_major typedef Matrix<_Scalar, ei_traits<T>::RowsAtCompileTime, ei_traits<T>::ColsAtCompileTime, - ei_corrected_matrix_flags<_Scalar, ei_size_at_compile_time<_MaxRows,_MaxCols>::ret, _Flags>::ret & ~RowMajorBit, ei_traits<T>::MaxRowsAtCompileTime, - ei_traits<T>::MaxColsAtCompileTime> type; + ei_traits<T>::MaxColsAtCompileTime, + ei_corrected_matrix_flags< + _Scalar, + ei_size_at_compile_time<_MaxRows,_MaxCols>::ret, + _Flags + >::ret & ~RowMajorBit + > type; }; // as ei_nested, but evaluate to a column-major matrix if an evaluation is required |