diff options
Diffstat (limited to 'Client/ThirdParty/fpm/tests/nearest.cpp')
-rw-r--r-- | Client/ThirdParty/fpm/tests/nearest.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Client/ThirdParty/fpm/tests/nearest.cpp b/Client/ThirdParty/fpm/tests/nearest.cpp new file mode 100644 index 0000000..342e0b1 --- /dev/null +++ b/Client/ThirdParty/fpm/tests/nearest.cpp @@ -0,0 +1,78 @@ +#include "common.hpp" +#include <fpm/math.hpp> + +TEST(nearest, round) +{ + using P = fpm::fixed_24_8; + + EXPECT_EQ(P( 2), round(P( 2.3))); + EXPECT_EQ(P( 3), round(P( 2.5))); + EXPECT_EQ(P( 3), round(P( 2.7))); + EXPECT_EQ(P(-2), round(P(-2.3))); + EXPECT_EQ(P(-3), round(P(-2.5))); + EXPECT_EQ(P(-3), round(P(-2.7))); + EXPECT_EQ(P( 0), round(P( 0))); +} + +TEST(nearest, ceil) +{ + using P = fpm::fixed_24_8; + + EXPECT_EQ(P( 1), ceil(P( 1))); + EXPECT_EQ(P(-1), ceil(P(-1))); + + EXPECT_EQ(P( 3), ceil(P( 2.4))); + EXPECT_EQ(P(-2), ceil(P(-2.4))); + EXPECT_EQ(P( 0), ceil(P( 0))); +} + +TEST(nearest, floor) +{ + using P = fpm::fixed_24_8; + + EXPECT_EQ(P( 1), floor(P( 1))); + EXPECT_EQ(P(-1), floor(P(-1))); + + EXPECT_EQ(P( 2), floor(P( 2.7))); + EXPECT_EQ(P(-3), floor(P(-2.7))); + EXPECT_EQ(P( 0), floor(P( 0))); +} + +TEST(nearest, trunc) +{ + using P = fpm::fixed_24_8; + + EXPECT_EQ(P( 1), trunc(P( 1))); + EXPECT_EQ(P(-1), trunc(P(-1))); + + EXPECT_EQ(P( 2), trunc(P( 2.7))); + EXPECT_EQ(P(-2), trunc(P(-2.9))); + EXPECT_EQ(P( 0), trunc(P( 0))); +} + +TEST(nearest, nearbyint) +{ + using P = fpm::fixed_24_8; + + EXPECT_EQ(P( 2), nearbyint(P( 2.3))); + EXPECT_EQ(P( 2), nearbyint(P( 2.5))); + EXPECT_EQ(P( 4), nearbyint(P( 3.5))); + EXPECT_EQ(P(-2), nearbyint(P(-2.3))); + EXPECT_EQ(P(-2), nearbyint(P(-2.5))); + EXPECT_EQ(P(-4), nearbyint(P(-3.5))); + EXPECT_EQ(P( 0), nearbyint(P( 0))); +} + +TEST(nearest, rint) +{ + using P = fpm::fixed_24_8; + + EXPECT_EQ(P( 2), rint(P( 2.3))); + EXPECT_EQ(P( 2), rint(P( 2.5))); + EXPECT_EQ(P( 4), rint(P( 3.5))); + EXPECT_EQ(P(-2), rint(P(-2.3))); + EXPECT_EQ(P(-2), rint(P(-2.5))); + EXPECT_EQ(P(-4), rint(P(-3.5))); + EXPECT_EQ(P( 0), rint(P( 0))); +} + |