diff --git a/Eigen/src/SparseCore/SparseMatrix.h b/Eigen/src/SparseCore/SparseMatrix.h index 8bfa5f6b8..eedae47e8 100644 --- a/Eigen/src/SparseCore/SparseMatrix.h +++ b/Eigen/src/SparseCore/SparseMatrix.h @@ -893,7 +893,7 @@ public: Index p = m_outerIndex[outer] + m_innerNonZeros[outer]++; m_data.index(p) = convert_index(inner); - return (m_data.value(p) = 0); + return (m_data.value(p) = Scalar(0)); } private: @@ -1274,7 +1274,7 @@ EIGEN_DONT_INLINE typename SparseMatrix<_Scalar,_Options,_StorageIndex>::Scalar& m_innerNonZeros[outer]++; m_data.index(p) = inner; - return (m_data.value(p) = 0); + return (m_data.value(p) = Scalar(0)); } template @@ -1381,7 +1381,7 @@ EIGEN_DONT_INLINE typename SparseMatrix<_Scalar,_Options,_StorageIndex>::Scalar& } m_data.index(p) = inner; - return (m_data.value(p) = 0); + return (m_data.value(p) = Scalar(0)); } namespace internal { diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp index 199f9fdd3..53d4b8746 100644 --- a/test/sparse_basic.cpp +++ b/test/sparse_basic.cpp @@ -645,6 +645,7 @@ template void sparse_basic(const SparseMatrixType& re template void big_sparse_triplet(Index rows, Index cols, double density) { + g_dense_op_sparse_count = 0; // Suppresses compiler warning. typedef typename SparseMatrixType::StorageIndex StorageIndex; typedef typename SparseMatrixType::Scalar Scalar; typedef Triplet TripletType;