aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/array_for_matrix.cpp
diff options
context:
space:
mode:
authorGravatar Hauke Heibel <hauke.heibel@gmail.com>2011-01-27 16:37:06 +0100
committerGravatar Hauke Heibel <hauke.heibel@gmail.com>2011-01-27 16:37:06 +0100
commitd5e81d866a2bf2d81050d68ec3f8dc9e4879ee5b (patch)
tree66f065e37b06032de112ecf3ba9fa8415668455e /test/array_for_matrix.cpp
parentfd400ffffb1acf991769f9840f42933ec800cb1c (diff)
Added regression tests for bug #148.
Diffstat (limited to 'test/array_for_matrix.cpp')
-rw-r--r--test/array_for_matrix.cpp10
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)