Fix type-related issues in dependent code. Remove hardcoded mjUSEDOUBLE. Add mjUSESINGLE compiler flag.

This CL does not change the default build behavior of MuJoCo. To use single-precision floating-point, build MuJoCo with `-DmjUSESINGLE`.

PiperOrigin-RevId: 644782648
Change-Id: Ie815df9916798ca8054306437b39a33f84ce9e08
This commit is contained in:
Yuval Tassa
2024-06-19 10:51:17 -07:00
committed by Copybara-Service
parent 7bd7065e0e
commit 3f3b39bbb1
14 changed files with 62 additions and 44 deletions
+2 -1
View File
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <cerrno>
#include <chrono>
#include <cstdint>
#include <cstdio>
@@ -334,7 +335,7 @@ void PhysicsLoop(mj::Simulate& sim) {
// misalignment condition: distance from target sim time is bigger than syncmisalign
bool misaligned =
mju_abs(Seconds(elapsedCPU).count()/slowdown - elapsedSim) > syncMisalign;
std::abs(Seconds(elapsedCPU).count()/slowdown - elapsedSim) > syncMisalign;
// out-of-sync (for any reason): reset sync times, step
if (elapsedSim < 0 || elapsedCPU.count() < 0 || syncCPU.time_since_epoch().count() == 0 ||