From 6c75240da0d943c79389e88b33c8cdf6e12d4d23 Mon Sep 17 00:00:00 2001 From: Kirill Okhotnikov Date: Tue, 30 Aug 2022 22:59:00 +0200 Subject: [PATCH] [libc][math] Fix broken tests. --- libc/test/src/math/explogxf_test.cpp | 8 ++++++-- libc/test/src/math/inv_trigf_utils_test.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libc/test/src/math/explogxf_test.cpp b/libc/test/src/math/explogxf_test.cpp index 599d005..cceb3d5 100644 --- a/libc/test/src/math/explogxf_test.cpp +++ b/libc/test/src/math/explogxf_test.cpp @@ -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); } diff --git a/libc/test/src/math/inv_trigf_utils_test.cpp b/libc/test/src/math/inv_trigf_utils_test.cpp index ad2d89c..7198823 100644 --- a/libc/test/src/math/inv_trigf_utils_test.cpp +++ b/libc/test/src/math/inv_trigf_utils_test.cpp @@ -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); } -- 2.7.4