From fc27cbd914b8afcf03b6120e3b23206bdc57b0a5 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 28 Jun 2013 17:10:53 +0200 Subject: Fix bug #611: fix const qualifier in cwiseProduct(sparse,dense) and SparseDiagonalProduct::InnerIterator --- test/sparse_product.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'test/sparse_product.cpp') 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 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); -- cgit v1.2.3