[libc-commits] [libc] [libc] Remove specific nan payload in math functions (PR #79133)
Guillaume Chatelet via libc-commits
libc-commits at lists.llvm.org
Tue Jan 23 05:22:03 PST 2024
https://github.com/gchatelet created https://github.com/llvm/llvm-project/pull/79133
None
>From 7188fa90f13636fe092c8d5b0d47c02511a9c5cf Mon Sep 17 00:00:00 2001
From: Guillaume Chatelet <gchatelet at google.com>
Date: Tue, 23 Jan 2024 13:21:39 +0000
Subject: [PATCH] [libc] Remove specific nan payload in math functions
---
.../FPUtil/DivisionAndRemainderOperations.h | 2 +-
libc/src/__support/FPUtil/generic/sqrt.h | 4 +---
.../FPUtil/generic/sqrt_80_bit_long_double.h | 3 +--
libc/test/UnitTest/FPMatcher.h | 4 ++--
libc/test/src/__support/FPUtil/fpbits_test.cpp | 13 ++++++-------
libc/test/src/math/FDimTest.h | 2 +-
libc/test/src/math/FmaTest.h | 2 +-
libc/test/src/math/HypotTest.h | 2 +-
libc/test/src/math/ILogbTest.h | 2 +-
libc/test/src/math/LdExpTest.h | 2 +-
libc/test/src/math/NextAfterTest.h | 2 +-
libc/test/src/math/RIntTest.h | 2 +-
libc/test/src/math/RemQuoTest.h | 2 +-
libc/test/src/math/RoundToIntegerTest.h | 2 +-
libc/test/src/math/smoke/FDimTest.h | 2 +-
libc/test/src/math/smoke/FmaTest.h | 2 +-
libc/test/src/math/smoke/HypotTest.h | 2 +-
libc/test/src/math/smoke/ILogbTest.h | 2 +-
libc/test/src/math/smoke/LdExpTest.h | 2 +-
libc/test/src/math/smoke/NextAfterTest.h | 2 +-
libc/test/src/math/smoke/NextTowardTest.h | 4 ++--
libc/test/src/math/smoke/RIntTest.h | 2 +-
libc/test/src/math/smoke/RemQuoTest.h | 2 +-
libc/test/src/math/smoke/RoundToIntegerTest.h | 2 +-
24 files changed, 31 insertions(+), 35 deletions(-)
diff --git a/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
index ef9593a42b00557..2859a248b95e390 100644
--- a/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
+++ b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
@@ -31,7 +31,7 @@ LIBC_INLINE T remquo(T x, T y, int &q) {
if (ybits.is_nan())
return y;
if (xbits.is_inf() || ybits.is_zero())
- return FPBits<T>::build_quiet_nan(fputil::Sign::POS, 1).get_val();
+ return FPBits<T>::build_quiet_nan().get_val();
if (xbits.is_zero()) {
q = 0;
diff --git a/libc/src/__support/FPUtil/generic/sqrt.h b/libc/src/__support/FPUtil/generic/sqrt.h
index 0a0690ec1463b9d..6650227a014d21c 100644
--- a/libc/src/__support/FPUtil/generic/sqrt.h
+++ b/libc/src/__support/FPUtil/generic/sqrt.h
@@ -71,12 +71,10 @@ LIBC_INLINE cpp::enable_if_t<cpp::is_floating_point_v<T>, T> sqrt(T x) {
return x86::sqrt(x);
} else {
// IEEE floating points formats.
- using Sign = fputil::Sign;
using FPBits_t = typename fputil::FPBits<T>;
using StorageType = typename FPBits_t::StorageType;
constexpr StorageType ONE = StorageType(1) << FPBits_t::FRACTION_LEN;
- constexpr auto FLT_NAN =
- FPBits_t::build_quiet_nan(Sign::POS, ONE >> 1).get_val();
+ constexpr auto FLT_NAN = FPBits_t::build_quiet_nan().get_val();
FPBits_t bits(x);
diff --git a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
index b0a3776029ca78a..72977f616b5dd31 100644
--- a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
+++ b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
@@ -38,9 +38,8 @@ LIBC_INLINE long double sqrt(long double x);
LIBC_INLINE long double sqrt(long double x) {
using LDBits = FPBits<long double>;
using StorageType = typename LDBits::StorageType;
- using Sign = fputil::Sign;
constexpr StorageType ONE = StorageType(1) << int(LDBits::FRACTION_LEN);
- constexpr auto LDNAN = LDBits::build_quiet_nan(Sign::POS, ONE >> 1).get_val();
+ constexpr auto LDNAN = LDBits::build_quiet_nan().get_val();
LDBits bits(x);
diff --git a/libc/test/UnitTest/FPMatcher.h b/libc/test/UnitTest/FPMatcher.h
index 9880fa51c54811a..49ea2ccec62f118 100644
--- a/libc/test/UnitTest/FPMatcher.h
+++ b/libc/test/UnitTest/FPMatcher.h
@@ -68,7 +68,7 @@ template <typename T> struct FPTest : public Test {
LIBC_NAMESPACE::cpp::numeric_limits<StorageType>::max();
static constexpr T zero = T(FPBits::zero(Sign::POS));
static constexpr T neg_zero = T(FPBits::zero(Sign::NEG));
- static constexpr T aNaN = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ static constexpr T aNaN = T(FPBits::build_quiet_nan());
static constexpr T sNaN = T(FPBits::build_nan(Sign::POS, 1));
static constexpr T inf = T(FPBits::inf(Sign::POS));
static constexpr T neg_inf = T(FPBits::inf(Sign::NEG));
@@ -97,7 +97,7 @@ template <typename T> struct FPTest : public Test {
LIBC_NAMESPACE::cpp::numeric_limits<StorageType>::max(); \
const T zero = T(FPBits::zero(Sign::POS)); \
const T neg_zero = T(FPBits::zero(Sign::NEG)); \
- const T aNaN = T(FPBits::build_quiet_nan(Sign::POS, 1)); \
+ const T aNaN = T(FPBits::build_quiet_nan()); \
const T sNaN = T(FPBits::build_nan(Sign::POS, 1)); \
const T inf = T(FPBits::inf(Sign::POS)); \
const T neg_inf = T(FPBits::inf(Sign::NEG)); \
diff --git a/libc/test/src/__support/FPUtil/fpbits_test.cpp b/libc/test/src/__support/FPUtil/fpbits_test.cpp
index 6092945811ce1c1..aadcd3fe92b9e54 100644
--- a/libc/test/src/__support/FPUtil/fpbits_test.cpp
+++ b/libc/test/src/__support/FPUtil/fpbits_test.cpp
@@ -287,7 +287,7 @@ TEST(LlvmLibcFPBitsTest, FloatType) {
EXPECT_STREQ(LIBC_NAMESPACE::str(negnum).c_str(),
"0xBF900000 = (S: 1, E: 0x007F, M: 0x00100000)");
- FloatBits quiet_nan = FloatBits::build_quiet_nan(Sign::POS, 1);
+ FloatBits quiet_nan = FloatBits::build_quiet_nan();
EXPECT_EQ(quiet_nan.is_quiet_nan(), true);
}
@@ -298,8 +298,7 @@ TEST(LlvmLibcFPBitsTest, DoubleType) {
"(+Infinity)");
EXPECT_STREQ(LIBC_NAMESPACE::str(DoubleBits::inf(Sign::NEG)).c_str(),
"(-Infinity)");
- EXPECT_STREQ(LIBC_NAMESPACE::str(DoubleBits::build_nan(Sign::POS, 1)).c_str(),
- "(NaN)");
+ EXPECT_STREQ(LIBC_NAMESPACE::str(DoubleBits::build_nan()).c_str(), "(NaN)");
DoubleBits zero(0.0);
EXPECT_TRUE(zero.is_pos());
@@ -349,7 +348,7 @@ TEST(LlvmLibcFPBitsTest, DoubleType) {
EXPECT_STREQ(LIBC_NAMESPACE::str(negnum).c_str(),
"0xBFF2000000000000 = (S: 1, E: 0x03FF, M: 0x0002000000000000)");
- DoubleBits quiet_nan = DoubleBits::build_quiet_nan(Sign::POS, 1);
+ DoubleBits quiet_nan = DoubleBits::build_quiet_nan();
EXPECT_EQ(quiet_nan.is_quiet_nan(), true);
}
@@ -431,7 +430,7 @@ TEST(LlvmLibcFPBitsTest, X86LongDoubleType) {
"0x000000000000BFFF9000000000000000 = "
"(S: 1, E: 0x3FFF, I: 1, M: 0x00000000000000001000000000000000)");
- LongDoubleBits quiet_nan = LongDoubleBits::build_quiet_nan(Sign::POS, 1);
+ LongDoubleBits quiet_nan = LongDoubleBits::build_quiet_nan();
EXPECT_EQ(quiet_nan.is_quiet_nan(), true);
}
#else
@@ -506,7 +505,7 @@ TEST(LlvmLibcFPBitsTest, LongDoubleType) {
"0xBFFF2000000000000000000000000000 = "
"(S: 1, E: 0x3FFF, M: 0x00002000000000000000000000000000)");
- LongDoubleBits quiet_nan = LongDoubleBits::build_quiet_nan(Sign::POS, 1);
+ LongDoubleBits quiet_nan = LongDoubleBits::build_quiet_nan();
EXPECT_EQ(quiet_nan.is_quiet_nan(), true);
#endif
}
@@ -581,7 +580,7 @@ TEST(LlvmLibcFPBitsTest, Float128Type) {
"0xBFFF2000000000000000000000000000 = "
"(S: 1, E: 0x3FFF, M: 0x00002000000000000000000000000000)");
- Float128Bits quiet_nan = Float128Bits::build_quiet_nan(Sign::POS, 1);
+ Float128Bits quiet_nan = Float128Bits::build_quiet_nan();
EXPECT_EQ(quiet_nan.is_quiet_nan(), true);
}
#endif // LIBC_COMPILER_HAS_FLOAT128
diff --git a/libc/test/src/math/FDimTest.h b/libc/test/src/math/FDimTest.h
index c3d9cb1801cd440..46df2b40e64bd1b 100644
--- a/libc/test/src/math/FDimTest.h
+++ b/libc/test/src/math/FDimTest.h
@@ -24,7 +24,7 @@ class FDimTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
void test_na_n_arg(FuncPtr func) {
EXPECT_FP_EQ(nan, func(nan, inf));
diff --git a/libc/test/src/math/FmaTest.h b/libc/test/src/math/FmaTest.h
index 4343b38053dc47e..8cc340e9260ff2c 100644
--- a/libc/test/src/math/FmaTest.h
+++ b/libc/test/src/math/FmaTest.h
@@ -32,7 +32,7 @@ class FmaTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
static constexpr StorageType MAX_NORMAL = FPBits::max_normal().uintval();
static constexpr StorageType MIN_NORMAL = FPBits::min_normal().uintval();
diff --git a/libc/test/src/math/HypotTest.h b/libc/test/src/math/HypotTest.h
index 0b85f68fda82aec..2990072fd5c668c 100644
--- a/libc/test/src/math/HypotTest.h
+++ b/libc/test/src/math/HypotTest.h
@@ -25,7 +25,7 @@ class HypotTestTemplate : public LIBC_NAMESPACE::testing::Test {
using FPBits = LIBC_NAMESPACE::fputil::FPBits<T>;
using Sign = LIBC_NAMESPACE::fputil::Sign;
using StorageType = typename FPBits::StorageType;
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
const T inf = T(FPBits::inf());
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero());
diff --git a/libc/test/src/math/ILogbTest.h b/libc/test/src/math/ILogbTest.h
index 223de789999afea..fe28fab9d777c99 100644
--- a/libc/test/src/math/ILogbTest.h
+++ b/libc/test/src/math/ILogbTest.h
@@ -28,7 +28,7 @@ class LlvmLibcILogbTest : public LIBC_NAMESPACE::testing::Test {
using Sign = LIBC_NAMESPACE::fputil::Sign;
EXPECT_EQ(FP_ILOGB0, func(T(FPBits::zero(Sign::POS))));
EXPECT_EQ(FP_ILOGB0, func(T(FPBits::zero(Sign::NEG))));
- EXPECT_EQ(FP_ILOGBNAN, func(T(FPBits::build_quiet_nan(Sign::POS, 1))));
+ EXPECT_EQ(FP_ILOGBNAN, func(T(FPBits::build_quiet_nan())));
EXPECT_EQ(INT_MAX, func(T(FPBits::inf(Sign::POS))));
EXPECT_EQ(INT_MAX, func(T(FPBits::inf(Sign::NEG))));
}
diff --git a/libc/test/src/math/LdExpTest.h b/libc/test/src/math/LdExpTest.h
index 3a4baabbf10e663..08a14a90c122636 100644
--- a/libc/test/src/math/LdExpTest.h
+++ b/libc/test/src/math/LdExpTest.h
@@ -29,7 +29,7 @@ class LdExpTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
// A normalized mantissa to be used with tests.
static constexpr StorageType MANTISSA = NormalFloat::ONE + 0x1234;
diff --git a/libc/test/src/math/NextAfterTest.h b/libc/test/src/math/NextAfterTest.h
index 9ff3bf73d2ede17..f9ae4a4ec5c021a 100644
--- a/libc/test/src/math/NextAfterTest.h
+++ b/libc/test/src/math/NextAfterTest.h
@@ -27,7 +27,7 @@ class NextAfterTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
const StorageType min_subnormal = FPBits::min_subnormal().uintval();
const StorageType max_subnormal = FPBits::max_subnormal().uintval();
diff --git a/libc/test/src/math/RIntTest.h b/libc/test/src/math/RIntTest.h
index b478e3f65dbc8ea..3af7b6fe6f6d4fa 100644
--- a/libc/test/src/math/RIntTest.h
+++ b/libc/test/src/math/RIntTest.h
@@ -38,7 +38,7 @@ class RIntTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
static constexpr StorageType MIN_SUBNORMAL =
FPBits::min_subnormal().uintval();
diff --git a/libc/test/src/math/RemQuoTest.h b/libc/test/src/math/RemQuoTest.h
index 0ee41f4bf9acf9d..bbc266764c1c211 100644
--- a/libc/test/src/math/RemQuoTest.h
+++ b/libc/test/src/math/RemQuoTest.h
@@ -28,7 +28,7 @@ class RemQuoTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
static constexpr StorageType MIN_SUBNORMAL =
FPBits::min_subnormal().uintval();
diff --git a/libc/test/src/math/RoundToIntegerTest.h b/libc/test/src/math/RoundToIntegerTest.h
index 6866c23cb99ca32..f75aaa348bd0068 100644
--- a/libc/test/src/math/RoundToIntegerTest.h
+++ b/libc/test/src/math/RoundToIntegerTest.h
@@ -37,7 +37,7 @@ class RoundToIntegerTestTemplate : public LIBC_NAMESPACE::testing::Test {
const F neg_zero = F(FPBits::zero(Sign::NEG));
const F inf = F(FPBits::inf());
const F neg_inf = F(FPBits::inf(Sign::NEG));
- const F nan = F(FPBits::build_quiet_nan(Sign::POS, 1));
+ const F nan = F(FPBits::build_quiet_nan());
static constexpr StorageType MAX_NORMAL = FPBits::max_normal().uintval();
static constexpr StorageType MIN_NORMAL = FPBits::min_normal().uintval();
diff --git a/libc/test/src/math/smoke/FDimTest.h b/libc/test/src/math/smoke/FDimTest.h
index c3d9cb1801cd440..46df2b40e64bd1b 100644
--- a/libc/test/src/math/smoke/FDimTest.h
+++ b/libc/test/src/math/smoke/FDimTest.h
@@ -24,7 +24,7 @@ class FDimTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
void test_na_n_arg(FuncPtr func) {
EXPECT_FP_EQ(nan, func(nan, inf));
diff --git a/libc/test/src/math/smoke/FmaTest.h b/libc/test/src/math/smoke/FmaTest.h
index 337ce659a23e176..106ba1405a96863 100644
--- a/libc/test/src/math/smoke/FmaTest.h
+++ b/libc/test/src/math/smoke/FmaTest.h
@@ -25,7 +25,7 @@ class FmaTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
public:
void test_special_numbers(Func func) {
diff --git a/libc/test/src/math/smoke/HypotTest.h b/libc/test/src/math/smoke/HypotTest.h
index 67110536b962389..5400fc0730d8a47 100644
--- a/libc/test/src/math/smoke/HypotTest.h
+++ b/libc/test/src/math/smoke/HypotTest.h
@@ -22,7 +22,7 @@ class HypotTestTemplate : public LIBC_NAMESPACE::testing::Test {
using FPBits = LIBC_NAMESPACE::fputil::FPBits<T>;
using StorageType = typename FPBits::StorageType;
using Sign = LIBC_NAMESPACE::fputil::Sign;
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
const T inf = T(FPBits::inf(Sign::POS));
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
diff --git a/libc/test/src/math/smoke/ILogbTest.h b/libc/test/src/math/smoke/ILogbTest.h
index 223de789999afea..fe28fab9d777c99 100644
--- a/libc/test/src/math/smoke/ILogbTest.h
+++ b/libc/test/src/math/smoke/ILogbTest.h
@@ -28,7 +28,7 @@ class LlvmLibcILogbTest : public LIBC_NAMESPACE::testing::Test {
using Sign = LIBC_NAMESPACE::fputil::Sign;
EXPECT_EQ(FP_ILOGB0, func(T(FPBits::zero(Sign::POS))));
EXPECT_EQ(FP_ILOGB0, func(T(FPBits::zero(Sign::NEG))));
- EXPECT_EQ(FP_ILOGBNAN, func(T(FPBits::build_quiet_nan(Sign::POS, 1))));
+ EXPECT_EQ(FP_ILOGBNAN, func(T(FPBits::build_quiet_nan())));
EXPECT_EQ(INT_MAX, func(T(FPBits::inf(Sign::POS))));
EXPECT_EQ(INT_MAX, func(T(FPBits::inf(Sign::NEG))));
}
diff --git a/libc/test/src/math/smoke/LdExpTest.h b/libc/test/src/math/smoke/LdExpTest.h
index 3a4baabbf10e663..08a14a90c122636 100644
--- a/libc/test/src/math/smoke/LdExpTest.h
+++ b/libc/test/src/math/smoke/LdExpTest.h
@@ -29,7 +29,7 @@ class LdExpTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
// A normalized mantissa to be used with tests.
static constexpr StorageType MANTISSA = NormalFloat::ONE + 0x1234;
diff --git a/libc/test/src/math/smoke/NextAfterTest.h b/libc/test/src/math/smoke/NextAfterTest.h
index 1dd07b3d2f93dc0..859e2c74a36935d 100644
--- a/libc/test/src/math/smoke/NextAfterTest.h
+++ b/libc/test/src/math/smoke/NextAfterTest.h
@@ -38,7 +38,7 @@ class NextAfterTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
static constexpr StorageType min_subnormal =
FPBits::min_subnormal().uintval();
diff --git a/libc/test/src/math/smoke/NextTowardTest.h b/libc/test/src/math/smoke/NextTowardTest.h
index d65cc5d84d35a58..c9f07b993f04b5b 100644
--- a/libc/test/src/math/smoke/NextTowardTest.h
+++ b/libc/test/src/math/smoke/NextTowardTest.h
@@ -40,11 +40,11 @@ class NextTowardTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
const long double to_zero = ToFPBits::zero().get_val();
const long double to_neg_zero = ToFPBits::zero(Sign::NEG).get_val();
- const long double to_nan = ToFPBits::build_quiet_nan(Sign::POS, 1).get_val();
+ const long double to_nan = ToFPBits::build_quiet_nan().get_val();
static constexpr StorageType min_subnormal =
FPBits::min_subnormal().uintval();
diff --git a/libc/test/src/math/smoke/RIntTest.h b/libc/test/src/math/smoke/RIntTest.h
index 7bbbe5430157038..bd99e634badbdff 100644
--- a/libc/test/src/math/smoke/RIntTest.h
+++ b/libc/test/src/math/smoke/RIntTest.h
@@ -35,7 +35,7 @@ class RIntTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
public:
void testSpecialNumbers(RIntFunc func) {
diff --git a/libc/test/src/math/smoke/RemQuoTest.h b/libc/test/src/math/smoke/RemQuoTest.h
index 5f5cbd4964a62fa..739661f2d9619e4 100644
--- a/libc/test/src/math/smoke/RemQuoTest.h
+++ b/libc/test/src/math/smoke/RemQuoTest.h
@@ -25,7 +25,7 @@ class RemQuoTestTemplate : public LIBC_NAMESPACE::testing::Test {
const T neg_inf = T(FPBits::inf(Sign::NEG));
const T zero = T(FPBits::zero(Sign::POS));
const T neg_zero = T(FPBits::zero(Sign::NEG));
- const T nan = T(FPBits::build_quiet_nan(Sign::POS, 1));
+ const T nan = T(FPBits::build_quiet_nan());
public:
typedef T (*RemQuoFunc)(T, T, int *);
diff --git a/libc/test/src/math/smoke/RoundToIntegerTest.h b/libc/test/src/math/smoke/RoundToIntegerTest.h
index 77c65aa492e22de..404155604645c5b 100644
--- a/libc/test/src/math/smoke/RoundToIntegerTest.h
+++ b/libc/test/src/math/smoke/RoundToIntegerTest.h
@@ -34,7 +34,7 @@ class RoundToIntegerTestTemplate : public LIBC_NAMESPACE::testing::Test {
const F neg_zero = F(FPBits::zero(Sign::NEG));
const F inf = F(FPBits::inf(Sign::POS));
const F neg_inf = F(FPBits::inf(Sign::NEG));
- const F nan = F(FPBits::build_quiet_nan(Sign::POS, 1));
+ const F nan = F(FPBits::build_quiet_nan());
static constexpr StorageType MAX_SUBNORMAL =
FPBits::max_subnormal().uintval();
More information about the libc-commits
mailing list