diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-05-31 10:56:53 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-05-31 10:56:53 +0200 |
commit | 2c1b56f4c13cb7fbc2834b30d673f6828d5eec79 (patch) | |
tree | b4558fd31451ac5bbf6b0b5366f87cdb2df8086f /Eigen/src/SparseCore/SparseRedux.h | |
parent | c4bd3b1f21ac68a94f1499356d454863b1979573 (diff) |
bug #1238: fix SparseMatrix::sum() overload for un-compressed mode.
Diffstat (limited to 'Eigen/src/SparseCore/SparseRedux.h')
-rw-r--r-- | Eigen/src/SparseCore/SparseRedux.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Eigen/src/SparseCore/SparseRedux.h b/Eigen/src/SparseCore/SparseRedux.h index 2a9718cfb..458774962 100644 --- a/Eigen/src/SparseCore/SparseRedux.h +++ b/Eigen/src/SparseCore/SparseRedux.h @@ -30,7 +30,10 @@ typename internal::traits<SparseMatrix<_Scalar,_Options,_Index> >::Scalar SparseMatrix<_Scalar,_Options,_Index>::sum() const { eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix"); - return Matrix<Scalar,1,Dynamic>::Map(m_data.valuePtr(), m_data.size()).sum(); + if(this->isCompressed()) + return Matrix<Scalar,1,Dynamic>::Map(m_data.valuePtr(), m_data.size()).sum(); + else + return Base::sum(); } template<typename _Scalar, int _Options, typename _Index> |