Replace mjMIN and mjMAX with mju_min and mju_max, where possible.

PiperOrigin-RevId: 566602924
Change-Id: I2d24183d0d9df3e647bb2d7d7544473582f38128
This commit is contained in:
Yuval Tassa
2023-09-19 05:39:55 -07:00
committed by Copybara-Service
parent 9cf1f6eba4
commit dfd48dd821
9 changed files with 45 additions and 50 deletions
+1 -1
View File
@@ -1260,7 +1260,7 @@ void mjCComposite::BoxProject(double* pos) {
// cylinder
else if (type==mjCOMPTYPE_CYLINDER) {
double L0 = mjMAX(mju_abs(pos[0]), mju_abs(pos[1]));
double L0 = mju_max(mju_abs(pos[0]), mju_abs(pos[1]));
mjuu_normvec(pos, 2);
pos[0] *= size[0]*L0;
pos[1] *= size[1]*L0;
+8 -8
View File
@@ -13,7 +13,6 @@
// limitations under the License.
#include <algorithm>
#include <array>
#include <cmath>
#include <csetjmp>
#include <cstddef>
@@ -53,6 +52,7 @@
#include "engine/engine_resource.h"
#include "engine/engine_util_blas.h"
#include "engine/engine_util_errmem.h"
#include "engine/engine_util_misc.h"
#include "engine/engine_util_solve.h"
#include "engine/engine_util_spatial.h"
#include "user/user_model.h"
@@ -709,7 +709,7 @@ void mjCMesh::FitGeom(mjCGeom* geom, double* meshpos) {
case mjGEOM_CAPSULE:
geom->size[0] = (boxsz[0] + boxsz[1])/2;
geom->size[1] = mjMAX(0, boxsz[2] - geom->size[0]/2);
geom->size[1] = mju_max(0, boxsz[2] - geom->size[0]/2);
break;
case mjGEOM_CYLINDER:
@@ -747,7 +747,7 @@ void mjCMesh::FitGeom(mjCGeom* geom, double* meshpos) {
for (int i=0; i<nvert_; i++) {
double v[3] = {vert_[3*i], vert_[3*i+1], vert_[3*i+2]};
double dst = mjuu_dist3(v, cen);
geom->size[0] = mjMAX(geom->size[0], dst);
geom->size[0] = mju_max(geom->size[0], dst);
}
break;
@@ -760,11 +760,11 @@ void mjCMesh::FitGeom(mjCGeom* geom, double* meshpos) {
double v[3] = {vert_[3*i], vert_[3*i+1], vert_[3*i+2]};
double dst = sqrt((v[0]-cen[0])*(v[0]-cen[0]) +
(v[1]-cen[1])*(v[1]-cen[1]));
geom->size[0] = mjMAX(geom->size[0], dst);
geom->size[0] = mju_max(geom->size[0], dst);
// proceed with z: valid for cylinder
double dst2 = fabs(v[2]-cen[2]);
geom->size[1] = mjMAX(geom->size[1], dst2);
geom->size[1] = mju_max(geom->size[1], dst2);
}
// special handling of capsule: consider curved cap
@@ -779,7 +779,7 @@ void mjCMesh::FitGeom(mjCGeom* geom, double* meshpos) {
// get spherical elevation at horizontal distance dst
double h = geom->size[0] * sin(acos(dst/geom->size[0]));
geom->size[1] = mjMAX(geom->size[1], dst2-h);
geom->size[1] = mju_max(geom->size[1], dst2-h);
}
}
break;
@@ -1399,8 +1399,8 @@ void mjCMesh::Process() {
vert_[3*i+j] = (float) res[j];
// axis-aligned bounding box
aabb_[j+0] = mjMIN(aabb_[j+0], res[j]);
aabb_[j+3] = mjMAX(aabb_[j+3], res[j]);
aabb_[j+0] = mju_min(aabb_[j+0], res[j]);
aabb_[j+3] = mju_max(aabb_[j+3], res[j]);
}
}
for (int i=0; i<nnormal_; i++) {
+14 -14
View File
@@ -946,10 +946,10 @@ void mjCBody::Compile(void) {
// check and correct mass and inertia
if (id>0) {
// fix minimum
mass = mjMAX(mass, model->boundmass);
inertia[0] = mjMAX(inertia[0], model->boundinertia);
inertia[1] = mjMAX(inertia[1], model->boundinertia);
inertia[2] = mjMAX(inertia[2], model->boundinertia);
mass = mju_max(mass, model->boundmass);
inertia[0] = mju_max(inertia[0], model->boundinertia);
inertia[1] = mju_max(inertia[1], model->boundinertia);
inertia[2] = mju_max(inertia[2], model->boundinertia);
// check for negative values
if (mass<0 || inertia[0]<0 || inertia[1]<0 ||inertia[2]<0) {
@@ -1438,7 +1438,7 @@ double mjCGeom::GetRBound(void) {
return sqrt(size[0]*size[0]+size[1]*size[1]);
case mjGEOM_ELLIPSOID:
return mjMAX(mjMAX(size[0], size[1]), size[2]);
return mju_max(mju_max(size[0], size[1]), size[2]);
case mjGEOM_BOX:
return sqrt(size[0]*size[0]+size[1]*size[1]+size[2]*size[2]);
@@ -1446,9 +1446,9 @@ double mjCGeom::GetRBound(void) {
case mjGEOM_MESH:
case mjGEOM_SDF:
aabb = model->meshes[meshid]->aabb();
haabb[0] = mjMAX(fabs(aabb[0]), fabs(aabb[3]));
haabb[1] = mjMAX(fabs(aabb[1]), fabs(aabb[4]));
haabb[2] = mjMAX(fabs(aabb[2]), fabs(aabb[5]));
haabb[0] = mju_max(fabs(aabb[0]), fabs(aabb[3]));
haabb[1] = mju_max(fabs(aabb[1]), fabs(aabb[4]));
haabb[2] = mju_max(fabs(aabb[2]), fabs(aabb[5]));
return sqrt(haabb[0]*haabb[0] + haabb[1]*haabb[1] + haabb[2]*haabb[2]);
default:
@@ -1761,9 +1761,9 @@ void mjCGeom::Compile(void) {
size[2] = 0.5*(model->hfields[hfieldid]->size[2]+model->hfields[hfieldid]->size[3]);
} else if (type==mjGEOM_MESH || type==mjGEOM_SDF) {
const double* aabb = model->meshes[meshid]->aabb();
size[0] = mjMAX(fabs(aabb[0]), fabs(aabb[3]));
size[1] = mjMAX(fabs(aabb[1]), fabs(aabb[4]));
size[2] = mjMAX(fabs(aabb[2]), fabs(aabb[5]));
size[0] = mju_max(fabs(aabb[0]), fabs(aabb[3]));
size[1] = mju_max(fabs(aabb[1]), fabs(aabb[4]));
size[2] = mju_max(fabs(aabb[2]), fabs(aabb[5]));
}
for (double s : size) {
@@ -3132,9 +3132,9 @@ void mjCPair::Compile(void) {
// friction: max
if (!mjuu_defined(friction[0])) {
friction[0] = friction[1] = mjMAX(pg1->friction[0], pg2->friction[0]);
friction[2] = mjMAX(pg1->friction[1], pg2->friction[1]);
friction[3] = friction[4] = mjMAX(pg1->friction[2], pg2->friction[2]);
friction[0] = friction[1] = mju_max(pg1->friction[0], pg2->friction[0]);
friction[2] = mju_max(pg1->friction[1], pg2->friction[1]);
friction[3] = friction[4] = mju_max(pg1->friction[2], pg2->friction[2]);
}
// solver mix factor
+4 -4
View File
@@ -22,10 +22,10 @@
#include <string>
#include <string_view>
#include <mujoco/mjmacro.h>
#include <mujoco/mjtnum.h>
#include <mujoco/mujoco.h>
#include "engine/engine_crossplatform.h"
#include "engine/engine_util_misc.h"
#include "engine/engine_util_spatial.h"
using std::isnan;
@@ -443,9 +443,9 @@ void mjuu_offcenter(double* res, const double mass, const double* vec) {
void mjuu_visccoef(double* visccoef, double mass, const double* inertia, double scl) {
// compute equivalent box
double equivbox[3];
equivbox[0] = sqrt(mjMAX(mjMINVAL, (inertia[1] + inertia[2] - inertia[0])) / mass * 6.0);
equivbox[1] = sqrt(mjMAX(mjMINVAL, (inertia[0] + inertia[2] - inertia[1])) / mass * 6.0);
equivbox[2] = sqrt(mjMAX(mjMINVAL, (inertia[0] + inertia[1] - inertia[2])) / mass * 6.0);
equivbox[0] = sqrt(mju_max(mjMINVAL, (inertia[1] + inertia[2] - inertia[0])) / mass * 6.0);
equivbox[1] = sqrt(mju_max(mjMINVAL, (inertia[0] + inertia[2] - inertia[1])) / mass * 6.0);
equivbox[2] = sqrt(mju_max(mjMINVAL, (inertia[0] + inertia[1] - inertia[2])) / mass * 6.0);
// apply formula for box (or rather cross) viscosity