Add nnz per row precount method for mju_sqrMatTDSparse.
PiperOrigin-RevId: 521744893 Change-Id: Ie0fbfab552a680127f4acf9041b07916f8a2a490
This commit is contained in:
committed by
Copybara-Service
parent
7cc42ecf2a
commit
9924cce4b7
@@ -1801,16 +1801,16 @@ void mj_projectConstraint(const mjModel* m, mjData* d) {
|
||||
// construct supernodes
|
||||
mju_superSparse(nefc, rowsuper, rownnz, rowadr, colind);
|
||||
|
||||
// AR = JM2 * JM2', uncompressed layout
|
||||
// AR = JM2 * JM2'
|
||||
mju_sqrMatTDSparseInit(d->efc_AR_rownnz, d->efc_AR_rowadr, JM2T, JM2,
|
||||
nv, nefc, rownnzT, rowadrT, colindT, rownnz,
|
||||
rowadr, colind, rowsuper, d);
|
||||
|
||||
mju_sqrMatTDSparse(d->efc_AR, JM2T, JM2, NULL, nv, nefc,
|
||||
d->efc_AR_rownnz, d->efc_AR_rowadr, d->efc_AR_colind,
|
||||
rownnzT, rowadrT, colindT, NULL,
|
||||
rownnz, rowadr, colind, rowsuper, d);
|
||||
|
||||
// compress layout of AR
|
||||
mju_compressSparse(d->efc_AR, nefc, nefc,
|
||||
d->efc_AR_rownnz, d->efc_AR_rowadr, d->efc_AR_colind);
|
||||
|
||||
// add R to diagonal of AR
|
||||
for (int i=0; i<nefc; i++) {
|
||||
for (int j=0; j<d->efc_AR_rownnz[i]; j++) {
|
||||
|
||||
Reference in New Issue
Block a user