[libc-commits] [libc] [libc] Enable exp10m1f on RISC-V (PR #138768)
via libc-commits
libc-commits at lists.llvm.org
Tue May 6 14:47:37 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: Mikhail R. Gadelha (mikhailramalho)
<details>
<summary>Changes</summary>
Previously, the test failed due to isnan() and isinf() not being defined.
This patch follows other tests in the same directory and calls isnan and isinf from the FBits class.
---
Full diff: https://github.com/llvm/llvm-project/pull/138768.diff
2 Files Affected:
- (modified) libc/config/linux/riscv/entrypoints.txt (+1-1)
- (modified) libc/test/src/math/exp10m1f_test.cpp (+3-2)
``````````diff
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index d2fc128b35a3c..30d9d00dfefc9 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -451,7 +451,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.exp
libc.src.math.exp10
libc.src.math.exp10f
- # libc.src.math.exp10m1f
+ libc.src.math.exp10m1f
libc.src.math.exp2
libc.src.math.exp2f
libc.src.math.exp2m1f
diff --git a/libc/test/src/math/exp10m1f_test.cpp b/libc/test/src/math/exp10m1f_test.cpp
index cc960321175cb..21076ad16268e 100644
--- a/libc/test/src/math/exp10m1f_test.cpp
+++ b/libc/test/src/math/exp10m1f_test.cpp
@@ -80,7 +80,7 @@ TEST_F(LlvmLibcExp10m1fTest, InFloatRange) {
constexpr uint32_t STEP = UINT32_MAX / COUNT;
for (uint32_t i = 0, v = 0; i <= COUNT; ++i, v += STEP) {
float x = FPBits(v).get_val();
- if (isnan(x) || isinf(x))
+ if (FPBits(v).is_nan() || FPBits(v).is_inf())
continue;
LIBC_NAMESPACE::libc_errno = 0;
float result = LIBC_NAMESPACE::exp10m1f(x);
@@ -89,7 +89,8 @@ TEST_F(LlvmLibcExp10m1fTest, InFloatRange) {
// in the single-precision floating point range, then ignore comparing with
// MPFR result as MPFR can still produce valid results because of its
// wider precision.
- if (isnan(result) || isinf(result) || LIBC_NAMESPACE::libc_errno != 0)
+ if (FPBits(result).is_nan() || FPBits(result).is_inf() ||
+ LIBC_NAMESPACE::libc_errno != 0)
continue;
ASSERT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Exp10m1, x,
LIBC_NAMESPACE::exp10m1f(x), 0.5);
``````````
</details>
https://github.com/llvm/llvm-project/pull/138768
More information about the libc-commits
mailing list