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);
|
||||
}
|
||||
inline Scalar& insertBack(Index i) {
|
||||
m_data.append(0, i);
|
||||
m_data.append(Scalar(0), i);
|
||||
return m_data.value(m_data.size() - 1);
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ class SparseVector : public SparseCompressedBase<SparseVector<Scalar_, Options_,
|
||||
return insertBackUnordered(inner);
|
||||
}
|
||||
inline Scalar& insertBackUnordered(Index i) {
|
||||
m_data.append(0, i);
|
||||
m_data.append(Scalar(0), i);
|
||||
return m_data.value(m_data.size() - 1);
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ class SparseVector : public SparseCompressedBase<SparseVector<Scalar_, Options_,
|
||||
|
||||
/** \internal \deprecated use insertBack(Index) */
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user