diff --git a/Eigen/src/Sparse/SparseBlock.h b/Eigen/src/Sparse/SparseBlock.h index 86567f1a5..72589d0c0 100644 --- a/Eigen/src/Sparse/SparseBlock.h +++ b/Eigen/src/Sparse/SparseBlock.h @@ -150,15 +150,15 @@ class SparseInnerVectorSet, Size> { return operator=(other); } - + int nonZeros() const - { + { int count = 0; for (int j=0; j, Size> } inline SparseInnerVectorSet(const MatrixType& matrix, int outer) - : m_matrix(matrix), m_outerStart(outer) + : m_matrix(matrix), m_outerStart(outer), m_outerSize(Size) { ei_assert(Size==1); ei_assert( (outer>=0) && (outer, Size> { return m_matrix._innerIndexPtr() + m_matrix._outerIndexPtr()[m_outerStart]; } inline const int* _outerIndexPtr() const { return m_matrix._outerIndexPtr() + m_outerStart; } - + int nonZeros() const { return size_t(m_matrix._outerIndexPtr()[m_outerStart+m_outerSize.value()]) - size_t(m_matrix._outerIndexPtr()[m_outerStart]); } - + const Scalar& lastCoeff() const { EIGEN_STATIC_ASSERT_VECTOR_ONLY(SparseInnerVectorSet);