Fix sparse iterator and tests.

This commit is contained in:
Antonio Sánchez
2023-04-25 19:05:49 +00:00
committed by Rasmus Munk Larsen
parent 70410310a4
commit 3918768be1
3 changed files with 11 additions and 2 deletions

View File

@@ -171,8 +171,10 @@ template<typename SparseMatrixType> void sparse_basic(const SparseMatrixType& re
// generate random inner indices with no repeats
Vector<Index, Dynamic> innerIndices(inner);
innerIndices.setLinSpaced(inner, 0, inner - 1);
std::random_device rd;
std::mt19937 g(rd());
for (Index j = 0; j < outer; j++) {
std::random_shuffle(innerIndices.begin(), innerIndices.end());
std::shuffle(innerIndices.begin(), innerIndices.end(), g);
Index nzj = internal::random<Index>(2, inner / 2);
for (Index k = 0; k < nzj; k++) {
Index i = innerIndices[k];

View File

@@ -151,7 +151,9 @@ template<typename Scalar,typename StorageIndex> void sparse_vector(int rows, int
DenseVector refVec1 = DenseVector::Zero(rows);
DenseIndexVector innerIndices(rows);
innerIndices.setLinSpaced(0, rows - 1);
std::random_shuffle(innerIndices.begin(), innerIndices.end());
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(innerIndices.begin(), innerIndices.end(), g);
Index nz = internal::random<Index>(2, rows / 2);
for (Index k = 0; k < nz; k++)
{