sparse_vector test: retry initSparse until at least one nonzero

libeigen/eigen!2493

Co-authored-by: Rasmus Munk Larsen <rlarsen@nvidia.com>
This commit is contained in:
Rasmus Munk Larsen
2026-05-01 17:12:52 -07:00
co-authored by Rasmus Munk Larsen
parent 879885e10d
commit 1d02c1f12a
+6 -1
View File
@@ -26,7 +26,12 @@ void sparse_vector(int rows, int cols) {
DenseVector refV1 = DenseVector::Random(rows), refV2 = DenseVector::Random(rows), refV3 = DenseVector::Random(rows);
std::vector<int> zerocoords, nonzerocoords;
initSparse<Scalar>(densityVec, refV1, v1, &zerocoords, &nonzerocoords);
// Retry until at least one nonzero is produced: code below indexes nonzerocoords[0].
do {
zerocoords.clear();
nonzerocoords.clear();
initSparse<Scalar>(densityVec, refV1, v1, &zerocoords, &nonzerocoords);
} while (nonzerocoords.empty());
initSparse<Scalar>(densityMat, refM1, m1);
initSparse<Scalar>(densityVec, refV2, v2);