Fix float_double_conversion test failures on MIPS (#543)
diff --git a/tests/float_double_conversion/float_double_conversion.c b/tests/float_double_conversion/float_double_conversion.c
index 70a3664..aeaabe0 100644
--- a/tests/float_double_conversion/float_double_conversion.c
+++ b/tests/float_double_conversion/float_double_conversion.c
@@ -73,7 +73,16 @@
pb_istream_t stream = pb_istream_from_buffer(buf, msglen);
DoubleMsg msg = { 0.0 };
TEST(pb_decode(&stream, &DoubleMsg_msg, &msg));
- TEST(memcmp(&msg.value, &expected_double, sizeof(double)) == 0);
+
+ if (isnan(expected_double))
+ {
+ /* Bottom bits of NAN converted to double can vary */
+ TEST(isnan(msg.value));
+ }
+ else
+ {
+ TEST(memcmp(&msg.value, &expected_double, sizeof(double)) == 0);
+ }
}
}