Change the type of state signature arguments from unsigned int to int

PiperOrigin-RevId: 843162492
Change-Id: I51d3324f088e8055898e115bdd32267c5950a412
This commit is contained in:
Yuval Tassa
2025-12-11 04:33:33 -08:00
committed by Copybara-Service
parent fe0a11d58d
commit 1ff74ba810
9 changed files with 92 additions and 46 deletions
+43 -10
View File
@@ -164,9 +164,15 @@ static inline const mjtNum* mj_stateElemConstPtr(const mjModel* m, const mjData*
// get size of state signature
int mj_stateSize(const mjModel* m, unsigned int sig) {
int mj_stateSize(const mjModel* m, int sig) {
if (sig < 0) {
mjERROR("invalid state signature %d < 0", sig);
return 0;
}
if (sig >= (1<<mjNSTATE)) {
mjERROR("invalid state signature %u >= 2^mjNSTATE", sig);
mjERROR("invalid state signature %d >= 2^mjNSTATE", sig);
return 0;
}
int size = 0;
@@ -182,9 +188,15 @@ int mj_stateSize(const mjModel* m, unsigned int sig) {
// get state
void mj_getState(const mjModel* m, const mjData* d, mjtNum* state, unsigned int sig) {
void mj_getState(const mjModel* m, const mjData* d, mjtNum* state, int sig) {
if (sig < 0) {
mjERROR("invalid state signature %d < 0", sig);
return;
}
if (sig >= (1<<mjNSTATE)) {
mjERROR("invalid state signature %u >= 2^mjNSTATE", sig);
mjERROR("invalid state signature %d >= 2^mjNSTATE", sig);
return;
}
int adr = 0;
@@ -213,8 +225,17 @@ void mj_getState(const mjModel* m, const mjData* d, mjtNum* state, unsigned int
// extract a sub-state from a state
void mj_extractState(const mjModel* m, const mjtNum* src, unsigned int srcsig,
mjtNum* dst, unsigned int dstsig) {
void mj_extractState(const mjModel* m, const mjtNum* src, int srcsig, mjtNum* dst, int dstsig) {
if (srcsig < 0) {
mjERROR("invalid srcsig %d < 0", srcsig);
return;
}
if (srcsig >= (1<<mjNSTATE)) {
mjERROR("invalid srcsig %d >= 2^mjNSTATE", srcsig);
return;
}
if ((srcsig & dstsig) != dstsig) {
mjERROR("dstsig is not a subset of srcsig");
return;
@@ -235,9 +256,15 @@ void mj_extractState(const mjModel* m, const mjtNum* src, unsigned int srcsig,
// set state
void mj_setState(const mjModel* m, mjData* d, const mjtNum* state, unsigned int sig) {
void mj_setState(const mjModel* m, mjData* d, const mjtNum* state, int sig) {
if (sig < 0) {
mjERROR("invalid state signature %d < 0", sig);
return;
}
if (sig >= (1<<mjNSTATE)) {
mjERROR("invalid state signature %u >= 2^mjNSTATE", sig);
mjERROR("invalid state signature %d >= 2^mjNSTATE", sig);
return;
}
int adr = 0;
@@ -266,9 +293,15 @@ void mj_setState(const mjModel* m, mjData* d, const mjtNum* state, unsigned int
// copy state from src to dst
void mj_copyState(const mjModel* m, const mjData* src, mjData* dst, unsigned int sig) {
void mj_copyState(const mjModel* m, const mjData* src, mjData* dst, int sig) {
if (sig < 0) {
mjERROR("invalid state signature %d < 0", sig);
return;
}
if (sig >= (1<<mjNSTATE)) {
mjERROR("invalid state signature %u >= 2^mjNSTATE", sig);
mjERROR("invalid state signature %d >= 2^mjNSTATE", sig);
return;
}
for (int i=0; i < mjNSTATE; i++) {