aboutsummaryrefslogtreecommitdiff
path: root/libc/test/src/math/fmin_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libc/test/src/math/fmin_test.cpp')
-rw-r--r--libc/test/src/math/fmin_test.cpp45
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));
}
}
}