Don't use mj_stackAlloc for int allocations.

PiperOrigin-RevId: 559846094
Change-Id: I43eeec0b1970b2c6047be4e7c3548a4ce9aa6f5f
This commit is contained in:
Yuval Tassa
2023-08-24 13:09:08 -07:00
committed by Copybara-Service
parent 5c9b222566
commit 4db3377467
2 changed files with 4 additions and 3 deletions
+1 -1
View File
@@ -1615,7 +1615,7 @@ static inline int mj_nc(const mjModel* m, mjData* d, int* nnz) {
}
mjMARKSTACK;
int *chain = (int*)mj_stackAlloc(d, m->nv);
int *chain = mj_stackAllocInt(d, m->nv);
for (int i=0; i < ncon; i++) {
if (d->contact[i].exclude) {
+3 -2
View File
@@ -774,8 +774,9 @@ void mj_implicitSkip(const mjModel* m, mjData* d, int skipfactor) {
// set qLU = qM - dt*qDeriv
mju_addToScl(d->qLU, d->qDeriv, -m->opt.timestep, m->nD);
// factorize qLU, use qacc as scratch space
mju_factorLUSparse(d->qLU, nv, (int*)qacc, d->D_rownnz, d->D_rowadr, d->D_colind);
// factorize qLU
int* scratch = mj_stackAllocInt(d, nv);
mju_factorLUSparse(d->qLU, nv, scratch, d->D_rownnz, d->D_rowadr, d->D_colind);
}
// solve for qacc: (qM - dt*qDeriv) * qacc = qfrc