Don't use mj_stackAlloc for int allocations.
PiperOrigin-RevId: 559846094 Change-Id: I43eeec0b1970b2c6047be4e7c3548a4ce9aa6f5f
This commit is contained in:
committed by
Copybara-Service
parent
5c9b222566
commit
4db3377467
@@ -1615,7 +1615,7 @@ static inline int mj_nc(const mjModel* m, mjData* d, int* nnz) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mjMARKSTACK;
|
mjMARKSTACK;
|
||||||
int *chain = (int*)mj_stackAlloc(d, m->nv);
|
int *chain = mj_stackAllocInt(d, m->nv);
|
||||||
|
|
||||||
for (int i=0; i < ncon; i++) {
|
for (int i=0; i < ncon; i++) {
|
||||||
if (d->contact[i].exclude) {
|
if (d->contact[i].exclude) {
|
||||||
|
|||||||
@@ -774,8 +774,9 @@ void mj_implicitSkip(const mjModel* m, mjData* d, int skipfactor) {
|
|||||||
// set qLU = qM - dt*qDeriv
|
// set qLU = qM - dt*qDeriv
|
||||||
mju_addToScl(d->qLU, d->qDeriv, -m->opt.timestep, m->nD);
|
mju_addToScl(d->qLU, d->qDeriv, -m->opt.timestep, m->nD);
|
||||||
|
|
||||||
// factorize qLU, use qacc as scratch space
|
// factorize qLU
|
||||||
mju_factorLUSparse(d->qLU, nv, (int*)qacc, d->D_rownnz, d->D_rowadr, d->D_colind);
|
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
|
// solve for qacc: (qM - dt*qDeriv) * qacc = qfrc
|
||||||
|
|||||||
Reference in New Issue
Block a user