diff options
author | Hauke Heibel <hauke.heibel@gmail.com> | 2011-01-27 16:37:06 +0100 |
---|---|---|
committer | Hauke Heibel <hauke.heibel@gmail.com> | 2011-01-27 16:37:06 +0100 |
commit | d5e81d866a2bf2d81050d68ec3f8dc9e4879ee5b (patch) | |
tree | 66f065e37b06032de112ecf3ba9fa8415668455e /test/array_for_matrix.cpp | |
parent | fd400ffffb1acf991769f9840f42933ec800cb1c (diff) |
Added regression tests for bug #148.
Diffstat (limited to 'test/array_for_matrix.cpp')
-rw-r--r-- | test/array_for_matrix.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/array_for_matrix.cpp b/test/array_for_matrix.cpp index b7671ccda..9e1865e3d 100644 --- a/test/array_for_matrix.cpp +++ b/test/array_for_matrix.cpp @@ -30,7 +30,7 @@ template<typename MatrixType> void array_for_matrix(const MatrixType& m) typedef typename MatrixType::Scalar Scalar; typedef typename NumTraits<Scalar>::Real RealScalar; typedef Matrix<Scalar, MatrixType::RowsAtCompileTime, 1> ColVectorType; - typedef Matrix<Scalar, 1, MatrixType::ColsAtCompileTime> RowVectorType; + typedef Matrix<Scalar, 1, MatrixType::ColsAtCompileTime> RowVectorType; Index rows = m.rows(); Index cols = m.cols(); @@ -76,6 +76,14 @@ template<typename MatrixType> void array_for_matrix(const MatrixType& m) // empty objects VERIFY_IS_APPROX(m1.block(0,0,0,cols).colwise().sum(), RowVectorType::Zero(cols)); VERIFY_IS_APPROX(m1.block(0,0,rows,0).rowwise().prod(), ColVectorType::Ones(rows)); + + // verify the const accessors exist + const Scalar& ref_m1 = m.matrix().array().coeffRef(0); + const Scalar& ref_m2 = m.matrix().array().coeffRef(0,0); + const Scalar& ref_a1 = m.array().matrix().coeffRef(0); + const Scalar& ref_a2 = m.array().matrix().coeffRef(0,0); + VERIFY(&ref_a1 == &ref_m1); + VERIFY(&ref_a2 == &ref_m2); } template<typename MatrixType> void comparisons(const MatrixType& m) |