mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-30 17:40:05 +08:00
Fix regression in DynamicSparseMatrix and SuperLUSupport wrt recent change on nonZeros/nonZerosEstimate
This commit is contained in:
parent
03a0df2010
commit
15b5adb327
@ -165,8 +165,9 @@ struct SluMatrix : SuperMatrix
|
||||
}
|
||||
|
||||
template<typename MatrixType>
|
||||
static SluMatrix Map(SparseMatrixBase<MatrixType>& mat)
|
||||
static SluMatrix Map(SparseMatrixBase<MatrixType>& a_mat)
|
||||
{
|
||||
MatrixType &mat(a_mat.derived());
|
||||
SluMatrix res;
|
||||
if ((MatrixType::Flags&RowMajorBit)==RowMajorBit)
|
||||
{
|
||||
@ -184,9 +185,9 @@ struct SluMatrix : SuperMatrix
|
||||
res.Mtype = SLU_GE;
|
||||
|
||||
res.storage.nnz = internal::convert_index<int>(mat.nonZeros());
|
||||
res.storage.values = mat.derived().valuePtr();
|
||||
res.storage.innerInd = mat.derived().innerIndexPtr();
|
||||
res.storage.outerInd = mat.derived().outerIndexPtr();
|
||||
res.storage.values = mat.valuePtr();
|
||||
res.storage.innerInd = mat.innerIndexPtr();
|
||||
res.storage.outerInd = mat.outerIndexPtr();
|
||||
|
||||
res.setScalarType<typename MatrixType::Scalar>();
|
||||
|
||||
|
@ -361,7 +361,6 @@ struct evaluator<DynamicSparseMatrix<_Scalar,_Options,_StorageIndex> >
|
||||
: evaluator_base<DynamicSparseMatrix<_Scalar,_Options,_StorageIndex> >
|
||||
{
|
||||
typedef _Scalar Scalar;
|
||||
typedef _StorageIndex Index;
|
||||
typedef DynamicSparseMatrix<_Scalar,_Options,_StorageIndex> SparseMatrixType;
|
||||
typedef typename SparseMatrixType::InnerIterator InnerIterator;
|
||||
typedef typename SparseMatrixType::ReverseInnerIterator ReverseInnerIterator;
|
||||
@ -379,6 +378,8 @@ struct evaluator<DynamicSparseMatrix<_Scalar,_Options,_StorageIndex> >
|
||||
|
||||
Scalar coeff(Index row, Index col) const { return m_matrix->coeff(row,col); }
|
||||
|
||||
Index nonZerosEstimate() const { return m_matrix->nonZeros(); }
|
||||
|
||||
const SparseMatrixType *m_matrix;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user