diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-04-25 15:46:18 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-04-25 15:46:18 +0000 |
commit | a451835bce179a999cddedc3c9dab49e421968eb (patch) | |
tree | df3fed6cf99e2bd9cf362e6e3800c284f115c31b /Eigen/src/Core/MatrixBase.h | |
parent | 30d47b5250240d2313d1473adb6f6dd47c5d685a (diff) |
Make the explicit vectorization much more flexible:
- support dynamic sizes
- support arbitrary matrix size when the matrix can be seen as a 1D array
(except for fixed size matrices where the size in Bytes must be a factor of 16,
this is to allow compact storage of a vector of matrices)
Note that the explict vectorization is still experimental and far to be completely tested.
Diffstat (limited to 'Eigen/src/Core/MatrixBase.h')
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index 3247ec4bf..b6a161bdd 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -75,11 +75,8 @@ template<typename Derived> class MatrixBase * it is set to the \a Dynamic constant. * \sa MatrixBase::rows(), MatrixBase::cols(), RowsAtCompileTime, SizeAtCompileTime */ - SizeAtCompileTime - = ei_traits<Derived>::RowsAtCompileTime == Dynamic - || ei_traits<Derived>::ColsAtCompileTime == Dynamic - ? Dynamic - : ei_traits<Derived>::RowsAtCompileTime * ei_traits<Derived>::ColsAtCompileTime, + SizeAtCompileTime = ei_size_at_compile_time<ei_traits<Derived>::RowsAtCompileTime, + ei_traits<Derived>::ColsAtCompileTime>::ret, /**< This is equal to the number of coefficients, i.e. the number of * rows times the number of columns, or to \a Dynamic if this is not * known at compile-time. \sa RowsAtCompileTime, ColsAtCompileTime */ @@ -106,11 +103,8 @@ template<typename Derived> class MatrixBase * \sa ColsAtCompileTime, MaxRowsAtCompileTime, MaxSizeAtCompileTime */ - MaxSizeAtCompileTime - = ei_traits<Derived>::MaxRowsAtCompileTime == Dynamic - || ei_traits<Derived>::MaxColsAtCompileTime == Dynamic - ? Dynamic - : ei_traits<Derived>::MaxRowsAtCompileTime * ei_traits<Derived>::MaxColsAtCompileTime, + MaxSizeAtCompileTime = ei_size_at_compile_time<ei_traits<Derived>::MaxRowsAtCompileTime, + ei_traits<Derived>::MaxColsAtCompileTime>::ret, /**< This value is equal to the maximum possible number of coefficients that this expression * might have. If this expression might have an arbitrarily high number of coefficients, * this value is set to \a Dynamic. |