diff options
Diffstat (limited to 'libc/test/src/math/fmin_test.cpp')
-rw-r--r-- | libc/test/src/math/fmin_test.cpp | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/libc/test/src/math/fmin_test.cpp b/libc/test/src/math/fmin_test.cpp index 7fd1e8af1e51..47a4433f0c95 100644 --- a/libc/test/src/math/fmin_test.cpp +++ b/libc/test/src/math/fmin_test.cpp @@ -9,6 +9,7 @@ #include "include/math.h" #include "src/math/fmin.h" #include "utils/FPUtil/FPBits.h" +#include "utils/FPUtil/TestHelpers.h" #include "utils/UnitTest/Test.h" using FPBits = __llvm_libc::fputil::FPBits<double>; @@ -18,36 +19,36 @@ double inf = static_cast<double>(FPBits::inf()); double negInf = static_cast<double>(FPBits::negInf()); TEST(FminTest, NaNArg) { - EXPECT_EQ(inf, __llvm_libc::fmin(nan, inf)); - EXPECT_EQ(negInf, __llvm_libc::fmin(negInf, nan)); - EXPECT_EQ(0.0, __llvm_libc::fmin(nan, 0.0)); - EXPECT_EQ(-0.0, __llvm_libc::fmin(-0.0, nan)); - EXPECT_EQ(-1.2345, __llvm_libc::fmin(nan, -1.2345)); - EXPECT_EQ(1.2345, __llvm_libc::fmin(1.2345, nan)); + EXPECT_FP_EQ(inf, __llvm_libc::fmin(nan, inf)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(negInf, nan)); + EXPECT_FP_EQ(0.0, __llvm_libc::fmin(nan, 0.0)); + EXPECT_FP_EQ(-0.0, __llvm_libc::fmin(-0.0, nan)); + EXPECT_FP_EQ(-1.2345, __llvm_libc::fmin(nan, -1.2345)); + EXPECT_FP_EQ(1.2345, __llvm_libc::fmin(1.2345, nan)); EXPECT_NE(isnan(__llvm_libc::fmin(nan, nan)), 0); } TEST(FminTest, InfArg) { - EXPECT_EQ(negInf, __llvm_libc::fmin(negInf, inf)); - EXPECT_EQ(0.0, __llvm_libc::fmin(inf, 0.0)); - EXPECT_EQ(-0.0, __llvm_libc::fmin(-0.0, inf)); - EXPECT_EQ(1.2345, __llvm_libc::fmin(inf, 1.2345)); - EXPECT_EQ(-1.2345, __llvm_libc::fmin(-1.2345, inf)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(negInf, inf)); + EXPECT_FP_EQ(0.0, __llvm_libc::fmin(inf, 0.0)); + EXPECT_FP_EQ(-0.0, __llvm_libc::fmin(-0.0, inf)); + EXPECT_FP_EQ(1.2345, __llvm_libc::fmin(inf, 1.2345)); + EXPECT_FP_EQ(-1.2345, __llvm_libc::fmin(-1.2345, inf)); } TEST(FminTest, NegInfArg) { - EXPECT_EQ(negInf, __llvm_libc::fmin(inf, negInf)); - EXPECT_EQ(negInf, __llvm_libc::fmin(negInf, 0.0)); - EXPECT_EQ(negInf, __llvm_libc::fmin(-0.0, negInf)); - EXPECT_EQ(negInf, __llvm_libc::fmin(negInf, -1.2345)); - EXPECT_EQ(negInf, __llvm_libc::fmin(1.2345, negInf)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(inf, negInf)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(negInf, 0.0)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(-0.0, negInf)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(negInf, -1.2345)); + EXPECT_FP_EQ(negInf, __llvm_libc::fmin(1.2345, negInf)); } TEST(FminTest, BothZero) { - EXPECT_EQ(0.0, __llvm_libc::fmin(0.0, 0.0)); - EXPECT_EQ(-0.0, __llvm_libc::fmin(-0.0, 0.0)); - EXPECT_EQ(-0.0, __llvm_libc::fmin(0.0, -0.0)); - EXPECT_EQ(-0.0, __llvm_libc::fmin(-0.0, -0.0)); + EXPECT_FP_EQ(0.0, __llvm_libc::fmin(0.0, 0.0)); + EXPECT_FP_EQ(-0.0, __llvm_libc::fmin(-0.0, 0.0)); + EXPECT_FP_EQ(-0.0, __llvm_libc::fmin(0.0, -0.0)); + EXPECT_FP_EQ(-0.0, __llvm_libc::fmin(-0.0, -0.0)); } TEST(FminTest, InFloatRange) { @@ -65,9 +66,9 @@ TEST(FminTest, InFloatRange) { continue; if (x < y) { - ASSERT_EQ(x, __llvm_libc::fmin(x, y)); + ASSERT_FP_EQ(x, __llvm_libc::fmin(x, y)); } else { - ASSERT_EQ(y, __llvm_libc::fmin(x, y)); + ASSERT_FP_EQ(y, __llvm_libc::fmin(x, y)); } } } |