Updated infinity test better way.

Added NaN tests.
This commit is contained in:
Takatoshi Kondo
2014-11-03 10:03:05 +09:00
parent a4af97b32c
commit bcdbf78542
2 changed files with 47 additions and 16 deletions

View File

@@ -153,10 +153,17 @@ TEST(MSGPACK, simple_buffer_float)
v.push_back(numeric_limits<float>::min()); v.push_back(numeric_limits<float>::min());
v.push_back(numeric_limits<float>::max()); v.push_back(numeric_limits<float>::max());
v.push_back(nanf("tag")); v.push_back(nanf("tag"));
#if __cplusplus >= 201103 if (numeric_limits<float>::has_infinity) {
v.push_back(INFINITY); // inf v.push_back(numeric_limits<float>::infinity());
v.push_back(-INFINITY); // -inf v.push_back(-numeric_limits<float>::infinity());
#endif }
if (numeric_limits<float>::has_quiet_NaN) {
v.push_back(numeric_limits<float>::quiet_NaN());
}
if (numeric_limits<float>::has_signaling_NaN) {
v.push_back(numeric_limits<float>::signaling_NaN());
}
for (unsigned int i = 0; i < kLoop; i++) { for (unsigned int i = 0; i < kLoop; i++) {
v.push_back(static_cast<float>(msgpack_rand())); v.push_back(static_cast<float>(msgpack_rand()));
v.push_back(static_cast<float>(-msgpack_rand())); v.push_back(static_cast<float>(-msgpack_rand()));
@@ -235,10 +242,21 @@ TEST(MSGPACK, simple_buffer_double)
v.push_back(numeric_limits<double>::min()); v.push_back(numeric_limits<double>::min());
v.push_back(numeric_limits<double>::max()); v.push_back(numeric_limits<double>::max());
v.push_back(nanf("tag")); v.push_back(nanf("tag"));
#if __cplusplus >= 201103 if (numeric_limits<double>::has_infinity) {
v.push_back(INFINITY); // inf v.push_back(numeric_limits<double>::infinity());
v.push_back(-INFINITY); // -inf v.push_back(-numeric_limits<double>::infinity());
#endif }
if (numeric_limits<double>::has_quiet_NaN) {
v.push_back(numeric_limits<double>::quiet_NaN());
}
if (numeric_limits<double>::has_signaling_NaN) {
v.push_back(numeric_limits<double>::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++) { for (unsigned int i = 0; i < kLoop; i++) {
v.push_back(msgpack_rand()); v.push_back(msgpack_rand());
v.push_back(-msgpack_rand()); v.push_back(-msgpack_rand());

View File

@@ -194,10 +194,17 @@ TEST(MSGPACKC, simple_buffer_float)
v.push_back(numeric_limits<float>::min()); v.push_back(numeric_limits<float>::min());
v.push_back(numeric_limits<float>::max()); v.push_back(numeric_limits<float>::max());
v.push_back(nanf("tag")); v.push_back(nanf("tag"));
#if __cplusplus >= 201103 if (numeric_limits<float>::has_infinity) {
v.push_back(INFINITY); // inf v.push_back(numeric_limits<float>::infinity());
v.push_back(-INFINITY); // -inf v.push_back(-numeric_limits<float>::infinity());
#endif }
if (numeric_limits<float>::has_quiet_NaN) {
v.push_back(numeric_limits<float>::quiet_NaN());
}
if (numeric_limits<float>::has_signaling_NaN) {
v.push_back(numeric_limits<float>::signaling_NaN());
}
for (unsigned int i = 0; i < kLoop; i++) { for (unsigned int i = 0; i < kLoop; i++) {
v.push_back(static_cast<float>(msgpack_rand())); v.push_back(static_cast<float>(msgpack_rand()));
v.push_back(static_cast<float>(-msgpack_rand())); v.push_back(static_cast<float>(-msgpack_rand()));
@@ -238,10 +245,16 @@ TEST(MSGPACKC, simple_buffer_double)
v.push_back(numeric_limits<double>::min()); v.push_back(numeric_limits<double>::min());
v.push_back(numeric_limits<double>::max()); v.push_back(numeric_limits<double>::max());
v.push_back(nan("tag")); v.push_back(nan("tag"));
#if __cplusplus >= 201103 if (numeric_limits<double>::has_infinity) {
v.push_back(INFINITY); // inf v.push_back(numeric_limits<double>::infinity());
v.push_back(-INFINITY); // -inf v.push_back(-numeric_limits<double>::infinity());
#endif }
if (numeric_limits<double>::has_quiet_NaN) {
v.push_back(numeric_limits<double>::quiet_NaN());
}
if (numeric_limits<double>::has_signaling_NaN) {
v.push_back(numeric_limits<double>::signaling_NaN());
}
for (unsigned int i = 0; i < kLoop; i++) { for (unsigned int i = 0; i < kLoop; i++) {
v.push_back(msgpack_rand()); v.push_back(msgpack_rand());
v.push_back(-msgpack_rand()); v.push_back(-msgpack_rand());