Add nnz argument for size of allocated memory to mju_dense2sparse and check if this number is too small for number of non-zeros.

PiperOrigin-RevId: 690545825
Change-Id: I0e31cb907a1151cb2e4766d5f0cdfecb5629a2a6
This commit is contained in:
Taylor Howell
2024-10-28 03:46:00 -07:00
committed by Copybara-Service
parent 1c424644dd
commit a36f2cccb6
4 changed files with 63 additions and 15 deletions
+5 -5
View File
@@ -55,7 +55,7 @@ TEST_F(IslandTest, FloodFillSingleton) {
int rowadr[nr];
int colind[nnz];
mjtNum res[nnz]; // unused
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind);
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind, nnz);
// outputs / scratch
int island[nr];
@@ -82,7 +82,7 @@ TEST_F(IslandTest, FloodFill1) {
int rowadr[nr];
int colind[nnz];
mjtNum res[nnz]; // unused
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind);
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind, nnz);
// outputs / stack
int island[nr];
@@ -112,7 +112,7 @@ TEST_F(IslandTest, FloodFill2) {
int rowadr[nr];
int colind[nnz];
mjtNum res[nnz]; // unused
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind);
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind, nnz);
// outputs / stack
int island[nr];
@@ -140,7 +140,7 @@ TEST_F(IslandTest, FloodFill3a) {
int rowadr[nr];
int colind[nnz];
mjtNum res[nnz]; // unused
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind);
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind, nnz);
// outputs / stack
int island[nr];
@@ -174,7 +174,7 @@ TEST_F(IslandTest, FloodFill3b) {
int rowadr[nr];
int colind[nnz];
mjtNum res[nnz]; // unused
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind);
mju_dense2sparse(res, mat, nr, nr, rownnz, rowadr, colind, nnz);
// outputs / stack
int island[nr];