mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Fix SparseVector::insertBack() with custom scalar types
It fixes this compiler error:
```
/home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/src/SparseCore/SparseVector.h:143:19: error: cannot convert ‘int’ to ‘const Eigen::internal::CompressedStorage<boost::decimal::decimal64_t, int>::Scalar&’ {aka ‘const boost::decimal::decimal64_t&’}
143 | m_data.append(0, i);
| ^
| |
| int
```
This change matches what SparseMatrix does:
https://gitlab.com/libeigen/eigen/-/blob/master/Eigen/src/SparseCore/SparseMatrix.h#L430-L438
See merge request libeigen/eigen!2040
This commit is contained in:
committed by
Antonio Sánchez
parent
40da5b64ce
commit
ac3ef16f30
@@ -140,7 +140,7 @@ class SparseVector : public SparseCompressedBase<SparseVector<Scalar_, Options_,
|
|||||||
return insertBack(inner);
|
return insertBack(inner);
|
||||||
}
|
}
|
||||||
inline Scalar& insertBack(Index i) {
|
inline Scalar& insertBack(Index i) {
|
||||||
m_data.append(0, i);
|
m_data.append(Scalar(0), i);
|
||||||
return m_data.value(m_data.size() - 1);
|
return m_data.value(m_data.size() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ class SparseVector : public SparseCompressedBase<SparseVector<Scalar_, Options_,
|
|||||||
return insertBackUnordered(inner);
|
return insertBackUnordered(inner);
|
||||||
}
|
}
|
||||||
inline Scalar& insertBackUnordered(Index i) {
|
inline Scalar& insertBackUnordered(Index i) {
|
||||||
m_data.append(0, i);
|
m_data.append(Scalar(0), i);
|
||||||
return m_data.value(m_data.size() - 1);
|
return m_data.value(m_data.size() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -367,7 +367,7 @@ class SparseVector : public SparseCompressedBase<SparseVector<Scalar_, Options_,
|
|||||||
|
|
||||||
/** \internal \deprecated use insertBack(Index) */
|
/** \internal \deprecated use insertBack(Index) */
|
||||||
EIGEN_DEPRECATED_WITH_REASON("Use .insertBack() instead.") Scalar& fill(Index i) {
|
EIGEN_DEPRECATED_WITH_REASON("Use .insertBack() instead.") Scalar& fill(Index i) {
|
||||||
m_data.append(0, i);
|
m_data.append(Scalar(0), i);
|
||||||
return m_data.value(m_data.size() - 1);
|
return m_data.value(m_data.size() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user