From 98d74582751f65af99f94e9234b0817fa79f7fb9 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 14 Dec 2016 17:03:13 +0100 Subject: [PATCH] bug #1359: fix sparse /=scalar and *=scalar implementation. InnerIterators must be obtained from an evaluator. --- Eigen/src/SparseCore/SparseCwiseUnaryOp.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Eigen/src/SparseCore/SparseCwiseUnaryOp.h b/Eigen/src/SparseCore/SparseCwiseUnaryOp.h index 28f221437..ea7973790 100644 --- a/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +++ b/Eigen/src/SparseCore/SparseCwiseUnaryOp.h @@ -123,8 +123,10 @@ template EIGEN_STRONG_INLINE Derived& SparseMatrixBase::operator*=(const Scalar& other) { + typedef typename internal::evaluator::InnerIterator EvalIterator; + internal::evaluator thisEval(derived()); for (Index j=0; j EIGEN_STRONG_INLINE Derived& SparseMatrixBase::operator/=(const Scalar& other) { + typedef typename internal::evaluator::InnerIterator EvalIterator; + internal::evaluator thisEval(derived()); for (Index j=0; j