From 796b803ecf5a81676e8b1b53b5c6a80e4fdc29ab Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Tue, 14 Jul 2026 00:51:07 -0700 Subject: [PATCH] Calibrate float32 tolerances for several engine tests. PiperOrigin-RevId: 947501998 Change-Id: I939aaf3db7d8b7cbd04d7bb4885d10e0191e579a --- test/engine/engine_core_smooth_test.cc | 2 +- test/engine/engine_derivative_test.cc | 8 ++++---- test/engine/engine_sensor_test.cc | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/test/engine/engine_core_smooth_test.cc b/test/engine/engine_core_smooth_test.cc index 85e68955..55a9cb83 100644 --- a/test/engine/engine_core_smooth_test.cc +++ b/test/engine/engine_core_smooth_test.cc @@ -656,7 +656,7 @@ TEST_F(CoreSmoothTest, FactorI) { mj_fullM(model, data, Mexpected.data()); // expect matrices to match to floating point precision - EXPECT_THAT(M, Pointwise(MjNear(1e-12, 1e-5), Mexpected)); + EXPECT_THAT(M, Pointwise(MjNear(1e-12, 3e-4), Mexpected)); mj_deleteData(data); mj_deleteModel(model); diff --git a/test/engine/engine_derivative_test.cc b/test/engine/engine_derivative_test.cc index 00211e27..b1cccf1e 100644 --- a/test/engine/engine_derivative_test.cc +++ b/test/engine/engine_derivative_test.cc @@ -1054,12 +1054,12 @@ TEST_F(DerivativeTest, quatIntegrate) { mjd_quatIntegrateFD(DquatFD, DsFD, DvelFD, DhFD, quat, vel, h, eps); // expect numerical equality of un/scaled velocity derivatives - EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-3), DsFD)); + EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-2), DsFD)); // expect numerical equality of analytic and FD derivatives - EXPECT_THAT(AsVector(DquatFD, 9), Pointwise(MjNear(1e-7, 1e-3), Dquat)); - EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-3), Dvel)); - EXPECT_THAT(AsVector(DhFD, 3), Pointwise(MjNear(1e-7, 1e-3), Dh)); + EXPECT_THAT(AsVector(DquatFD, 9), Pointwise(MjNear(1e-7, 1e-2), Dquat)); + EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-2), Dvel)); + EXPECT_THAT(AsVector(DhFD, 3), Pointwise(MjNear(1e-7, 1e-2), Dh)); } } } diff --git a/test/engine/engine_sensor_test.cc b/test/engine/engine_sensor_test.cc index 45ffd6ac..9ec922ed 100644 --- a/test/engine/engine_sensor_test.cc +++ b/test/engine/engine_sensor_test.cc @@ -354,7 +354,7 @@ TEST_F(RelativeFrameSensorTest, FrameVelGeneral) { )"; MjModelPtr model = LoadModelFromString(xml); MjDataPtr data = MakeData(model); - mjtNum dt = 1e-6; // timestep used for finite differencing + mjtNum dt = MjTol(1e-6, 1e-3); // timestep used for finite differencing // set (arbitrary) joint velocities and call forward dynamics data->qvel[0] = 1; @@ -391,8 +391,8 @@ TEST_F(RelativeFrameSensorTest, FrameVelGeneral) { mju_quat2Vel(angvel_findiff, dquat, dt); // compare analytic and finite-differenced relative velocities - EXPECT_THAT(linvel, Pointwise(MjNear(10 * dt, 0.15), linvel_findiff)); - EXPECT_THAT(angvel, Pointwise(MjNear(10 * dt, 0.2), angvel_findiff)); + EXPECT_THAT(linvel, Pointwise(MjNear(10 * dt, 1.5e-2), linvel_findiff)); + EXPECT_THAT(angvel, Pointwise(MjNear(10 * dt, 2e-3), angvel_findiff)); } // ------------------------- general sensor tests -----------------------------