diff --git a/test/msgpack_basic.cpp b/test/msgpack_basic.cpp index 2827953e..56087de8 100644 --- a/test/msgpack_basic.cpp +++ b/test/msgpack_basic.cpp @@ -153,10 +153,17 @@ TEST(MSGPACK, simple_buffer_float) v.push_back(numeric_limits::min()); v.push_back(numeric_limits::max()); v.push_back(nanf("tag")); -#if __cplusplus >= 201103 - v.push_back(INFINITY); // inf - v.push_back(-INFINITY); // -inf -#endif + if (numeric_limits::has_infinity) { + v.push_back(numeric_limits::infinity()); + v.push_back(-numeric_limits::infinity()); + } + if (numeric_limits::has_quiet_NaN) { + v.push_back(numeric_limits::quiet_NaN()); + } + if (numeric_limits::has_signaling_NaN) { + v.push_back(numeric_limits::signaling_NaN()); + } + for (unsigned int i = 0; i < kLoop; i++) { v.push_back(static_cast(msgpack_rand())); v.push_back(static_cast(-msgpack_rand())); @@ -235,10 +242,21 @@ TEST(MSGPACK, simple_buffer_double) v.push_back(numeric_limits::min()); v.push_back(numeric_limits::max()); v.push_back(nanf("tag")); -#if __cplusplus >= 201103 - v.push_back(INFINITY); // inf - v.push_back(-INFINITY); // -inf -#endif + if (numeric_limits::has_infinity) { + v.push_back(numeric_limits::infinity()); + v.push_back(-numeric_limits::infinity()); + } + if (numeric_limits::has_quiet_NaN) { + v.push_back(numeric_limits::quiet_NaN()); + } + if (numeric_limits::has_signaling_NaN) { + v.push_back(numeric_limits::signaling_NaN()); + } + for (unsigned int i = 0; i < kLoop; i++) { + v.push_back(msgpack_rand()); + v.push_back(-msgpack_rand()); + } + for (unsigned int i = 0; i < kLoop; i++) { v.push_back(msgpack_rand()); v.push_back(-msgpack_rand()); diff --git a/test/msgpack_c.cpp b/test/msgpack_c.cpp index 804f0efd..d710d185 100644 --- a/test/msgpack_c.cpp +++ b/test/msgpack_c.cpp @@ -194,10 +194,17 @@ TEST(MSGPACKC, simple_buffer_float) v.push_back(numeric_limits::min()); v.push_back(numeric_limits::max()); v.push_back(nanf("tag")); -#if __cplusplus >= 201103 - v.push_back(INFINITY); // inf - v.push_back(-INFINITY); // -inf -#endif + if (numeric_limits::has_infinity) { + v.push_back(numeric_limits::infinity()); + v.push_back(-numeric_limits::infinity()); + } + if (numeric_limits::has_quiet_NaN) { + v.push_back(numeric_limits::quiet_NaN()); + } + if (numeric_limits::has_signaling_NaN) { + v.push_back(numeric_limits::signaling_NaN()); + } + for (unsigned int i = 0; i < kLoop; i++) { v.push_back(static_cast(msgpack_rand())); v.push_back(static_cast(-msgpack_rand())); @@ -238,10 +245,16 @@ TEST(MSGPACKC, simple_buffer_double) v.push_back(numeric_limits::min()); v.push_back(numeric_limits::max()); v.push_back(nan("tag")); -#if __cplusplus >= 201103 - v.push_back(INFINITY); // inf - v.push_back(-INFINITY); // -inf -#endif + if (numeric_limits::has_infinity) { + v.push_back(numeric_limits::infinity()); + v.push_back(-numeric_limits::infinity()); + } + if (numeric_limits::has_quiet_NaN) { + v.push_back(numeric_limits::quiet_NaN()); + } + if (numeric_limits::has_signaling_NaN) { + v.push_back(numeric_limits::signaling_NaN()); + } for (unsigned int i = 0; i < kLoop; i++) { v.push_back(msgpack_rand()); v.push_back(-msgpack_rand());