diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-01-28 21:43:20 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-01-28 21:43:20 +0100 |
commit | c1d900af61561194ad01b16a89da9f9ce1a09723 (patch) | |
tree | b5e05631504694aa63acbd880d4af478fa12b58c /test/diagonal.cpp | |
parent | 12f8bd12a27a9359e0383aed3f44436c08ea3f92 (diff) |
bug #178: remove additional const on nested expression, and remove several const_cast.
Diffstat (limited to 'test/diagonal.cpp')
-rw-r--r-- | test/diagonal.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/diagonal.cpp b/test/diagonal.cpp index 53814a588..ee00cad55 100644 --- a/test/diagonal.cpp +++ b/test/diagonal.cpp @@ -20,6 +20,8 @@ template<typename MatrixType> void diagonal(const MatrixType& m) MatrixType m1 = MatrixType::Random(rows, cols), m2 = MatrixType::Random(rows, cols); + Scalar s1 = internal::random<Scalar>(); + //check diagonal() VERIFY_IS_APPROX(m1.diagonal(), m1.transpose().diagonal()); m2.diagonal() = 2 * m1.diagonal(); @@ -58,6 +60,11 @@ template<typename MatrixType> void diagonal(const MatrixType& m) VERIFY_IS_APPROX(m2.template diagonal<N2>(), static_cast<Scalar>(2) * m1.diagonal(N2)); m2.diagonal(N2)[0] *= 3; VERIFY_IS_APPROX(m2.diagonal(N2)[0], static_cast<Scalar>(6) * m1.diagonal(N2)[0]); + + m2.diagonal(N2).x() = s1; + VERIFY_IS_APPROX(m2.diagonal(N2).x(), s1); + m2.diagonal(N2).coeffRef(0) = Scalar(2)*s1; + VERIFY_IS_APPROX(m2.diagonal(N2).coeff(0), Scalar(2)*s1); } } |