diff --git a/test/fixture.cc b/test/fixture.cc index 9532ca79..e6cef02f 100644 --- a/test/fixture.cc +++ b/test/fixture.cc @@ -17,6 +17,7 @@ #include #include #include +#include #include #include // NOLINT #include @@ -218,15 +219,16 @@ mjtNum CompareModel(const mjModel* m1, const mjModel* m2, // (needed in MJMODEL_POINTERS) MJMODEL_POINTERS_PREAMBLE(m1); - // compare ints, exclude nbuffer because it hides the actual difference - #define X(name) \ - if (strncmp(#name, "nbuffer", 7)) { \ - if (m1->name != m2->name) { \ - maxdif = mju_abs(m1->name - m2->name); field = #name; \ - } \ - } - MJMODEL_INTS - #undef X +// compare ints, exclude nbuffer because it hides the actual difference +#define X(name) \ + if constexpr (std::string_view(#name) != "nbuffer") { \ + if (m1->name != m2->name) { \ + maxdif = std::abs((long)m1->name - (long)m2->name); \ + field = #name; \ + } \ + } + MJMODEL_INTS +#undef X if (maxdif > 0) return maxdif; // compare arrays, apart from bvh-related ones, as those are sensitive to