Fix direct access for sparse blocks.

libeigen/eigen!2202
This commit is contained in:
Antonio Sánchez
2026-02-23 20:00:52 +00:00
committed by Rasmus Munk Larsen
parent d537b51ede
commit f3f2c676b5
2 changed files with 42 additions and 0 deletions

View File

@@ -279,6 +279,22 @@ void sparse_block(const SparseMatrixType& ref) {
++block_iterator;
++matrix_iterator;
}
// Test direct access methods
if (m2.isCompressed()) {
VERIFY(v.isCompressed());
VERIFY_IS_EQUAL(v.innerNonZeroPtr(), (const StorageIndex*)0);
} else {
VERIFY(!v.isCompressed());
if (SparseMatrixType::IsRowMajor) {
VERIFY_IS_EQUAL(v.innerNonZeroPtr(), m2.innerNonZeroPtr() + j0);
} else {
VERIFY_IS_EQUAL(v.innerNonZeroPtr(), m2.innerNonZeroPtr() + j0);
}
}
VERIFY_IS_EQUAL(v.valuePtr(), m2.valuePtr());
VERIFY_IS_EQUAL(v.innerIndexPtr(), m2.innerIndexPtr());
VERIFY_IS_EQUAL(v.outerIndexPtr(), m2.outerIndexPtr() + j0);
}
}