summaryrefslogtreecommitdiff
path: root/libc/test/src/math/expm1f16_test.cpp
diff options
context:
space:
mode:
authorFlorian Mayer <fmayer@google.com>2025-10-22 10:55:10 -0700
committerFlorian Mayer <fmayer@google.com>2025-10-22 10:55:10 -0700
commitf5f8398d7fe18a968f5873518e87d5fdd8269359 (patch)
tree347dff286c3b48b2336fb7a425adfceebd478116 /libc/test/src/math/expm1f16_test.cpp
parent73edaec4a6cd1212f9ae819c413d2cf58216d3b1 (diff)
parenta0abc0af0a0a90878822f8107d70dad6f7cdfc26 (diff)
Created using spr 1.3.7
Diffstat (limited to 'libc/test/src/math/expm1f16_test.cpp')
-rw-r--r--libc/test/src/math/expm1f16_test.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/libc/test/src/math/expm1f16_test.cpp b/libc/test/src/math/expm1f16_test.cpp
index a6a6fcf73d38..952a8796ea7c 100644
--- a/libc/test/src/math/expm1f16_test.cpp
+++ b/libc/test/src/math/expm1f16_test.cpp
@@ -6,11 +6,18 @@
//
//===----------------------------------------------------------------------===//
+#include "src/__support/macros/optimization.h"
#include "src/math/expm1f16.h"
#include "test/UnitTest/FPMatcher.h"
#include "test/UnitTest/Test.h"
#include "utils/MPFRWrapper/MPFRUtils.h"
+#ifdef LIBC_MATH_HAS_SKIP_ACCURATE_PASS
+#define TOLERANCE 1
+#else
+#define TOLERANCE 0
+#endif // LIBC_MATH_HAS_SKIP_ACCURATE_PASS
+
using LlvmLibcExpm1f16Test = LIBC_NAMESPACE::testing::FPTest<float16>;
namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
@@ -27,7 +34,8 @@ TEST_F(LlvmLibcExpm1f16Test, PositiveRange) {
for (uint16_t v = POS_START; v <= POS_STOP; ++v) {
float16 x = FPBits(v).get_val();
EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Expm1, x,
- LIBC_NAMESPACE::expm1f16(x), 0.5);
+ LIBC_NAMESPACE::expm1f16(x),
+ TOLERANCE + 0.5);
}
}
@@ -35,6 +43,7 @@ TEST_F(LlvmLibcExpm1f16Test, NegativeRange) {
for (uint16_t v = NEG_START; v <= NEG_STOP; ++v) {
float16 x = FPBits(v).get_val();
EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Expm1, x,
- LIBC_NAMESPACE::expm1f16(x), 0.5);
+ LIBC_NAMESPACE::expm1f16(x),
+ TOLERANCE + 0.5);
}
}