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