Remove unused argument in mju_sqrMatTDSparseInit

PiperOrigin-RevId: 682375566
Change-Id: If05f5d15a2f8925eee9dd0ebc5d485164d90d787
This commit is contained in:
Yuval Tassa
2024-10-04 10:44:39 -07:00
committed by Copybara-Service
parent 7e9481fbeb
commit 3f3fe92860
4 changed files with 65 additions and 70 deletions
+1 -1
View File
@@ -2145,7 +2145,7 @@ void mj_projectConstraint(const mjModel* m, mjData* d) {
mju_superSparse(nefc, rowsuper, rownnz, rowadr, colind);
// AR = JM2 * JM2'
mju_sqrMatTDSparseInit(d->efc_AR_rownnz, d->efc_AR_rowadr, nv, nefc, rownnzT,
mju_sqrMatTDSparseInit(d->efc_AR_rownnz, d->efc_AR_rowadr, nefc, rownnzT,
rowadrT, colindT, rownnz, rowadr, colind, rowsuper, d);
mju_sqrMatTDSparse(d->efc_AR, JM2T, JM2, NULL, nv, nefc,
+9 -12
View File
@@ -637,18 +637,16 @@ void mju_superSparse(int nr, int* rowsuper,
// precount res_rownnz and precompute res_rowadr for mju_sqrMatTDSparse
void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr,
int nr, int nc, const int* rownnz,
const int* rowadr, const int* colind,
const int* rownnzT, const int* rowadrT,
const int* colindT, const int* rowsuperT,
mjData* d) {
void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr, int nr,
const int* rownnz, const int* rowadr, const int* colind,
const int* rownnzT, const int* rowadrT, const int* colindT,
const int* rowsuperT, mjData* d) {
mj_markStack(d);
int* chain = mj_stackAllocInt(d, 2*nc);
int* chain = mj_stackAllocInt(d, 2*nr);
int nchain = 0;
int* res_colind = NULL;
for (int r=0; r < nc; r++) {
for (int r=0; r < nr; r++) {
// supernode; copy everything to next row
if (rowsuperT && r > 0 && rowsuperT[r-1] > 0) {
res_rownnz[r] = res_rownnz[r - 1];
@@ -664,7 +662,7 @@ void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr,
res_rownnz[r]++;
}
} else {
int inew = 0, iold = nc;
int inew = 0, iold = nr;
nchain = 0;
for (int i=0; i < rownnzT[r]; i++) {
@@ -679,8 +677,7 @@ void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr,
int end = rowadr[c] + rownnz[c];
for (int adr1=rowadr[c]; adr1 < end; adr1++) {
int col_mat = colind[adr1];
while (adr < nchain && chain[iold + adr] < col_mat &&
chain[iold + adr] <= r) {
while (adr < nchain && chain[iold + adr] < col_mat && chain[iold + adr] <= r) {
chain[inew + nnewchain++] = chain[iold + adr++];
}
@@ -720,7 +717,7 @@ void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr,
}
res_rowadr[0] = 0;
for (int r = 1; r < nc; r++) {
for (int r = 1; r < nr; r++) {
res_rowadr[r] = res_rowadr[r-1] + res_rownnz[r-1];
}
+4 -6
View File
@@ -97,12 +97,10 @@ MJAPI void mju_sqrMatTDSparse(mjtNum* res, const mjtNum* mat, const mjtNum* matT
mjData* d);
// precount res_rownnz and precompute res_rowadr for mju_sqrMatTDSparse
MJAPI void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr,
int nr, int nc, const int* rownnz,
const int* rowadr, const int* colind,
const int* rownnzT, const int* rowadrT,
const int* colindT, const int* rowsuperT,
mjData* d);
MJAPI void mju_sqrMatTDSparseInit(int* res_rownnz, int* res_rowadr, int nr,
const int* rownnz, const int* rowadr, const int* colind,
const int* rownnzT, const int* rowadrT, const int* colindT,
const int* rowsuperT, mjData* d);
// precompute res_rowadr for mju_sqrMatTDSparse using uncompressed memory
MJAPI void mju_sqrMatTDUncompressedInit(int* res_rowadr, int nc);
+51 -51
View File
@@ -325,17 +325,17 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse1) {
int rowadrH[] = {0, 0, 0};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 3, 3));
EXPECT_THAT(rowadrH, ElementsAre(0, 3, 6));
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, NULL, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
mju_sqrMatTDSparse(matH, mat, matT, nullptr, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(0, 0, 0, 0, 0, 0, 0, 0, 0));
EXPECT_THAT(colindH, ElementsAre(0, 1, 2, 0, 1, 2, 0, 1, 2));
@@ -370,8 +370,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse2) {
int rowadrH[] = {0, 0, 0};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 3, 3));
EXPECT_THAT(rowadrH, ElementsAre(0, 3, 6));
@@ -379,9 +379,9 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse2) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, NULL, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
mju_sqrMatTDSparse(matH, mat, matT, nullptr, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(12, 0, 12, 0, 6, 3, 12, 3, 14));
EXPECT_THAT(colindH, ElementsAre(0, 1, 2, 0, 1, 2, 0, 1, 2));
@@ -418,8 +418,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse3) {
mjtNum diag[] = {2, 3, 4};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(2, 2, 0));
EXPECT_THAT(rowadrH, ElementsAre(0, 2, 4));
@@ -427,8 +427,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse3) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(66, 4, 0, 4, 35, 0, 0, 0, 0));
EXPECT_THAT(colindH, ElementsAre(0, 1, 0, 0, 1, 0, 0, 0, 0));
@@ -466,8 +466,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse4) {
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(2, 0, 2));
EXPECT_THAT(rowadrH, ElementsAre(0, 2, 2));
@@ -475,8 +475,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse4) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(66, 4, 0, 0, 0, 0, 4, 35, 0));
EXPECT_THAT(colindH, ElementsAre(0, 2, 0, 0, 0, 0, 0, 2, 0));
@@ -512,17 +512,17 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse5) {
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 2, 2));
EXPECT_THAT(rowadrH, ElementsAre(0, 3, 5));
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, NULL, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
mju_sqrMatTDSparse(matH, mat, matT, nullptr, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(5, 6, 4, 6, 9, 0, 4, 16, 0));
EXPECT_THAT(colindH, ElementsAre(0, 1, 2, 0, 1, 0, 0, 2, 0));
@@ -557,17 +557,17 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse6) {
int rowadrH[] = {0, 0, 0};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(2, 1, 2));
EXPECT_THAT(rowadrH, ElementsAre(0, 2, 3));
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, NULL, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
mju_sqrMatTDSparse(matH, mat, matT, nullptr, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(1, 2, 0, 4, 0, 0, 2, 13, 0));
EXPECT_THAT(colindH, ElementsAre(0, 2, 0, 1, 0, 0, 0, 2, 0));
@@ -604,8 +604,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse7) {
mjtNum diag[] = {2, 3, 4};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 2, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 2, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(2, 2));
EXPECT_THAT(rowadrH, ElementsAre(0, 2));
@@ -613,8 +613,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse7) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 2);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 2, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(66, 4, 4, 35));
EXPECT_THAT(colindH, ElementsAre(0, 1, 0, 1));
@@ -650,8 +650,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse8) {
mjtNum diag[] = {2, 3};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 2, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 2, 2));
EXPECT_THAT(rowadrH, ElementsAre(0, 3, 5));
@@ -659,8 +659,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse8) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, diag, 2, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(14, 18, 8, 18, 27, 0, 8, 32, 0));
EXPECT_THAT(colindH, ElementsAre(0, 1, 2, 0, 1, 0, 0, 2, 0));
@@ -697,8 +697,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse9) {
mjtNum diag[] = {2, 3, 4};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, NULL, data);
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, nullptr, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 3, 3));
EXPECT_THAT(rowadrH, ElementsAre(0, 3, 6));
@@ -706,8 +706,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse9) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
NULL, data);
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
nullptr, data);
EXPECT_THAT(matH, ElementsAre(69, 77, 80, 77, 99, 108, 80, 108, 120));
EXPECT_THAT(colindH, ElementsAre(0, 1, 2, 0, 1, 2, 0, 1, 2));
@@ -745,7 +745,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse10) {
mjtNum diag[] = {1, 1, 1};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, rowsuperT, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 3, 3));
@@ -754,7 +754,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse10) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
rowsuperT, data);
EXPECT_THAT(matH, ElementsAre(14, 14, 14, 14, 14, 14, 14, 14, 14));
@@ -793,7 +793,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse11) {
mjtNum diag[] = {1, 1, 1};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 3, rownnz, rowadr, colind,
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, rowsuperT, data);
EXPECT_THAT(rownnzH, ElementsAre(3, 3, 3));
@@ -802,7 +802,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse11) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 3);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 3, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
rowsuperT, data);
EXPECT_THAT(matH, ElementsAre(1, 1, 1, 1, 10, 10, 1, 10, 10));
@@ -841,7 +841,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse12) {
mjtNum diag[] = {1, 1, 1};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 4, rownnz, rowadr, colind,
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 4, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, rowsuperT, data);
EXPECT_THAT(rownnzH, ElementsAre(4, 4, 4, 4));
@@ -850,7 +850,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse12) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 4);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 4, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
rowsuperT, data);
EXPECT_THAT(matH,
@@ -893,7 +893,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse13) {
mjtNum diag[] = {1, 1, 1};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 3, 5, rownnz, rowadr, colind,
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 5, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, rowsuperT, data);
EXPECT_THAT(rownnzH, ElementsAre(2, 2, 0, 0, 0));
@@ -902,7 +902,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse13) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 5);
mju_sqrMatTDSparse(matH, mat, matT, diag, 3, 5, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
rowsuperT, data);
EXPECT_THAT(matH, ElementsAre(3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -943,7 +943,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse14) {
int rowadrH[] = {0, 0, 0, 0, 0, 0, 0};
// test precount
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 1, 7, rownnz, rowadr, colind,
mju_sqrMatTDSparseInit(rownnzH, rowadrH, 7, rownnz, rowadr, colind,
rownnzT, rowadrT, colindT, rowsuperT, data);
EXPECT_THAT(rownnzH, ElementsAre(7, 7, 7, 7, 7, 7, 7));
@@ -951,8 +951,8 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse14) {
// test computation
mju_sqrMatTDUncompressedInit(rowadrH, 7);
mju_sqrMatTDSparse(matH, mat, matT, NULL, 1, 7, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, NULL, rownnzT, rowadrT, colindT,
mju_sqrMatTDSparse(matH, mat, matT, nullptr, 1, 7, rownnzH, rowadrH, colindH,
rownnz, rowadr, colind, nullptr, rownnzT, rowadrT, colindT,
rowsuperT, data);
EXPECT_THAT(