Introduced new object type `FLOAT32` and `FLOAT64`.
`FLOAT64` is equivalent to `FLOAT`.
The both internal expressions are f64(double).
This commit is contained in:
Takatoshi Kondo
2016-10-11 21:39:55 +09:00
parent 1df97bc37b
commit ccc9ac5538
12 changed files with 82 additions and 30 deletions

View File

@@ -176,6 +176,7 @@ TEST(object_with_zone, float)
float v = 1.23f;
msgpack::zone z;
msgpack::object obj(v, z);
EXPECT_EQ(obj.type, msgpack::type::FLOAT32);
EXPECT_TRUE(fabs(obj.as<float>() - v) <= kEPS);
v = 4.56f;
EXPECT_TRUE(fabs(obj.as<float>() - static_cast<float>(1.23)) <= kEPS);
@@ -187,6 +188,7 @@ TEST(object_with_zone, double)
double v = 1.23;
msgpack::zone z;
msgpack::object obj(v, z);
EXPECT_EQ(obj.type, msgpack::type::FLOAT64);
EXPECT_TRUE(fabs(obj.as<double>() - v) <= kEPS);
v = 4.56;
EXPECT_TRUE(fabs(obj.as<double>() - 1.23) <= kEPS);