aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-11-14 14:05:53 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-11-14 14:05:53 +0100
commiteedb87f4ba7fa835808168952f70acac6e458452 (patch)
tree3617d5793477f22da631648aaae2c5a6074ad4ab /Eigen
parentf4722aa47991823d2f002e57ce45850790ea86b9 (diff)
Fix regression in SparseMatrix::ReverseInnerIterator
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/SparseCore/SparseCompressedBase.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/Eigen/src/SparseCore/SparseCompressedBase.h b/Eigen/src/SparseCore/SparseCompressedBase.h
index 55ad91f46..febd9039e 100644
--- a/Eigen/src/SparseCore/SparseCompressedBase.h
+++ b/Eigen/src/SparseCore/SparseCompressedBase.h
@@ -224,11 +224,11 @@ class SparseCompressedBase<Derived>::ReverseInnerIterator
}
else
{
- m_start.value() = mat.outerIndexPtr()[outer];
+ m_start = mat.outerIndexPtr()[outer];
if(mat.isCompressed())
m_id = mat.outerIndexPtr()[outer+1];
else
- m_id = m_start.value() + mat.innerNonZeroPtr()[outer];
+ m_id = m_start + mat.innerNonZeroPtr()[outer];
}
}
@@ -254,14 +254,15 @@ class SparseCompressedBase<Derived>::ReverseInnerIterator
inline Index row() const { return IsRowMajor ? m_outer.value() : index(); }
inline Index col() const { return IsRowMajor ? index() : m_outer.value(); }
- inline operator bool() const { return (m_id > m_start.value()); }
+ inline operator bool() const { return (m_id > m_start); }
protected:
const Scalar* m_values;
const StorageIndex* m_indices;
- const internal::variable_if_dynamic<Index,Derived::IsVectorAtCompileTime?0:Dynamic> m_outer;
+ typedef internal::variable_if_dynamic<Index,Derived::IsVectorAtCompileTime?0:Dynamic> OuterType;
+ const OuterType m_outer;
Index m_id;
- const internal::variable_if_dynamic<Index,Derived::IsVectorAtCompileTime?0:Dynamic> m_start;
+ Index m_start;
};
namespace internal {