sparse_vector test: retry initSparse until at least one nonzero libeigen/eigen!2493 Co-authored-by: Rasmus Munk Larsen <rlarsen@nvidia.com>
diff --git a/test/sparse_vector.cpp b/test/sparse_vector.cpp index e4b1963..8d4db08 100644 --- a/test/sparse_vector.cpp +++ b/test/sparse_vector.cpp
@@ -26,7 +26,12 @@ 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);