[libc-commits] [libc] [libc][math] Fix signaling NaN handling for math functions. (PR #133347)
via libc-commits
libc-commits at lists.llvm.org
Wed Apr 2 07:50:15 PDT 2025
================
@@ -13,8 +13,10 @@
using LlvmLibcAtanTest = LIBC_NAMESPACE::testing::FPTest<double>;
TEST_F(LlvmLibcAtanTest, SpecialNumbers) {
+ EXPECT_FP_EQ_WITH_EXCEPTION(aNaN, LIBC_NAMESPACE::atan(sNaN), FE_INVALID);
+ EXPECT_MATH_ERRNO(0);
+
EXPECT_FP_EQ_ALL_ROUNDING(aNaN, LIBC_NAMESPACE::atan(aNaN));
- // atan(sNaN) = aNaN.
EXPECT_EQ(FPBits(aNaN).uintval(),
FPBits(LIBC_NAMESPACE::atan(sNaN)).uintval());
----------------
overmighty wrote:
You added a new check for `atan(sNaN)` above so I would say this one is redundant now, although it checks that the result is exactly `aNaN` whereas `EXPECT_FP_EQ*` will accept any NaN as actual value when the expected value is NaN.
```suggestion
```
https://github.com/llvm/llvm-project/pull/133347
More information about the libc-commits
mailing list