diff options
author | Gael Guennebaud <g.gael@free.fr> | 2013-06-28 17:10:53 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2013-06-28 17:10:53 +0200 |
commit | fc27cbd914b8afcf03b6120e3b23206bdc57b0a5 (patch) | |
tree | 6037308c1a0f7fcea7e082b7ce467a753f008017 /test/sparse_product.cpp | |
parent | a915f0292ee8a4db2731638376ed0a55ca6930e4 (diff) |
Fix bug #611: fix const qualifier in cwiseProduct(sparse,dense) and SparseDiagonalProduct::InnerIterator
Diffstat (limited to 'test/sparse_product.cpp')
-rw-r--r-- | test/sparse_product.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/sparse_product.cpp b/test/sparse_product.cpp index 67a59ecd8..338c3d378 100644 --- a/test/sparse_product.cpp +++ b/test/sparse_product.cpp @@ -153,6 +153,14 @@ template<typename SparseMatrixType> void sparse_product() VERIFY_IS_APPROX(m3=d2*m2, refM3=d2*refM2); VERIFY_IS_APPROX(m3=d1*m2.transpose(), refM3=d1*refM2.transpose()); + // also check with a SparseWrapper: + DenseVector v1 = DenseVector::Random(cols); + DenseVector v2 = DenseVector::Random(rows); + VERIFY_IS_APPROX(m3=m2*v1.asDiagonal(), refM3=refM2*v1.asDiagonal()); + VERIFY_IS_APPROX(m3=m2.transpose()*v2.asDiagonal(), refM3=refM2.transpose()*v2.asDiagonal()); + VERIFY_IS_APPROX(m3=v2.asDiagonal()*m2, refM3=v2.asDiagonal()*refM2); + VERIFY_IS_APPROX(m3=v1.asDiagonal()*m2.transpose(), refM3=v1.asDiagonal()*refM2.transpose()); + // evaluate to a dense matrix to check the .row() and .col() iterator functions VERIFY_IS_APPROX(d3=m2*d1, refM3=refM2*d1); VERIFY_IS_APPROX(d3=m2.transpose()*d2, refM3=refM2.transpose()*d2); |