From 8456bbbadb8175a9e20d804b61de4da7d951d7f7 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 18 May 2016 16:53:28 +0200 Subject: bug #1224: fix regression in (dense*dense).sparseView() by specializing evaluator> for sparse products only. --- test/sparse_basic.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/sparse_basic.cpp') diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp index 387b817b5..f28c5b80e 100644 --- a/test/sparse_basic.cpp +++ b/test/sparse_basic.cpp @@ -372,6 +372,12 @@ template void sparse_basic(const SparseMatrixType& re SparseMatrixType m2(rows, rows); initSparse(density, refMat2, m2); VERIFY_IS_APPROX(m2.eval(), refMat2.sparseView().eval()); + + // sparse view on expressions: + VERIFY_IS_APPROX((s1*m2).eval(), (s1*refMat2).sparseView().eval()); + VERIFY_IS_APPROX((m2+m2).eval(), (refMat2+refMat2).sparseView().eval()); + VERIFY_IS_APPROX((m2*m2).eval(), (refMat2.lazyProduct(refMat2)).sparseView().eval()); + VERIFY_IS_APPROX((m2*m2).eval(), (refMat2*refMat2).sparseView().eval()); } // test diagonal -- cgit v1.2.3