From 5be269db8820981f2281136aa626cf6ac5282981 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Fri, 21 Jan 2011 10:24:59 -0500 Subject: [PATCH] make eigen2 submatrices test pass --- Eigen/src/Eigen2Support/Minor.h | 2 +- test/eigen2/submatrices.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Eigen/src/Eigen2Support/Minor.h b/Eigen/src/Eigen2Support/Minor.h index 3b3acd605..eda91cc32 100644 --- a/Eigen/src/Eigen2Support/Minor.h +++ b/Eigen/src/Eigen2Support/Minor.h @@ -56,7 +56,7 @@ struct traits > int(MatrixType::MaxRowsAtCompileTime) - 1 : Dynamic, MaxColsAtCompileTime = (MatrixType::MaxColsAtCompileTime != Dynamic) ? int(MatrixType::MaxColsAtCompileTime) - 1 : Dynamic, - Flags = _MatrixTypeNested::Flags & HereditaryBits, + Flags = _MatrixTypeNested::Flags & (HereditaryBits | LvalueBit), CoeffReadCost = _MatrixTypeNested::CoeffReadCost // minor is used typically on tiny matrices, // where loops are unrolled and the 'if' evaluates at compile time }; diff --git a/test/eigen2/submatrices.cpp b/test/eigen2/submatrices.cpp index 63c61baca..71bb65482 100644 --- a/test/eigen2/submatrices.cpp +++ b/test/eigen2/submatrices.cpp @@ -111,8 +111,10 @@ template void submatrices(const MatrixType& m) m2.diagonal()[0] *= 3; VERIFY_IS_APPROX(m2.diagonal()[0], static_cast(6) * m1.diagonal()[0]); - const int BlockRows = EIGEN_ENUM_MIN(MatrixType::RowsAtCompileTime,2); - const int BlockCols = EIGEN_ENUM_MIN(MatrixType::ColsAtCompileTime,5); + enum { + BlockRows = EIGEN_SIZE_MIN_PREFER_FIXED(MatrixType::RowsAtCompileTime,2), + BlockCols = EIGEN_SIZE_MIN_PREFER_FIXED(MatrixType::ColsAtCompileTime,5) + }; if (rows>=5 && cols>=8) { // test fixed block() as lvalue