aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Product.h
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-06-13 07:53:45 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-06-13 07:53:45 +0000
commitc90c77051f0dc26a18e4e4fe2d7b828fe559db67 (patch)
tree16e2442d14f3faa95cda419817ec5f30a4404bf8 /Eigen/src/Core/Product.h
parente3fac69f196a0a1c6ede9d510f2a4409399ad2c1 (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.h9
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