[libc][math] Fix broken tests.
authorKirill Okhotnikov <okir@google.com>
Tue, 30 Aug 2022 20:59:00 +0000 (22:59 +0200)
committerKirill Okhotnikov <okir@google.com>
Tue, 30 Aug 2022 20:59:47 +0000 (22:59 +0200)
libc/test/src/math/explogxf_test.cpp
libc/test/src/math/inv_trigf_utils_test.cpp

index 599d005..cceb3d5 100644 (file)
@@ -21,6 +21,10 @@ DECLARE_SPECIAL_CONSTANTS(float)
 constexpr int def_count = 100003;
 constexpr float def_prec = 0.500001f;
 
+auto f_normal = [](float x) -> bool {
+  return !(isnan(x) || isinf(x) || fabs(x) < 2E-38);
+};
+
 TEST(LlvmLibcExpxfTest, InFloatRange) {
   auto fx = [](float x) -> float {
     auto result = __llvm_libc::exp_eval<-1>(x);
@@ -45,11 +49,11 @@ TEST(LlvmLibcExp2xfTest, InFloatRange) {
 }
 
 TEST(LlvmLibcLog2xfTest, InFloatRange) {
-  CHECK_DATA(0.0f, inf, mpfr::Operation::Log2, __llvm_libc::log2_eval, isnormal,
+  CHECK_DATA(0.0f, inf, mpfr::Operation::Log2, __llvm_libc::log2_eval, f_normal,
              def_count, def_prec);
 }
 
 TEST(LlvmLibcLogxfTest, InFloatRange) {
-  CHECK_DATA(0.0f, inf, mpfr::Operation::Log, __llvm_libc::log_eval, isnormal,
+  CHECK_DATA(0.0f, inf, mpfr::Operation::Log, __llvm_libc::log_eval, f_normal,
              def_count, def_prec);
 }
index ad2d89c..7198823 100644 (file)
@@ -21,12 +21,14 @@ DECLARE_SPECIAL_CONSTANTS(float)
 constexpr int def_count = 100003;
 constexpr float def_prec = 0.500001f;
 
+auto f_normal = [](float x) -> bool { return !(isnan(x) || isinf(x)); };
+
 TEST(LlvmLibcAtanfPosTest, InFloatRange) {
-  CHECK_DATA(0.0f, inf, mpfr::Operation::Atan, __llvm_libc::atan_eval, isfinite,
+  CHECK_DATA(0.0f, inf, mpfr::Operation::Atan, __llvm_libc::atan_eval, f_normal,
              def_count, def_prec);
 }
 
 TEST(LlvmLibcAtanfNegTest, InFloatRange) {
   CHECK_DATA(-0.0f, neg_inf, mpfr::Operation::Atan, __llvm_libc::atan_eval,
-             isfinite, def_count, def_prec);
+             f_normal, def_count, def_prec);
 }