diff options
author | chai <chaifix@163.com> | 2021-12-01 13:34:22 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-12-01 13:34:22 +0800 |
commit | 09abf1b529b4226f585ecfbb20866715b901755b (patch) | |
tree | 16929f2a6bee3ad4667bdd006cfcc1e683ab7210 /Client/ThirdParty/fpm/tests/nearest.cpp | |
parent | 84d961f754c905b37420f4d1b3fee8f4e523e58a (diff) |
+fpm
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))); +} + |