[libc-commits] [libc] [libc][math][c++23] Add totalorder{, mag}bf16 math functions (PR #155568)
via libc-commits
libc-commits at lists.llvm.org
Wed Aug 27 10:07:57 PDT 2025
================
@@ -111,19 +111,44 @@ class TotalOrderMagTestTemplate : public LIBC_NAMESPACE::testing::FEnvSafeTest {
T snan_0x42 = FPBits::signaling_nan(Sign::POS, 0x42).get_val();
T neg_snan_0x42 = FPBits::signaling_nan(Sign::NEG, 0x42).get_val();
+ T qnan_0x15 = FPBits::quiet_nan(Sign::POS, 0x15).get_val();
----------------
overmighty wrote:
More of a nit but I think it would make more sense to have it like this:
```cpp
if constexpr (FPBits::FRACTION_LEN - 1 >= 5) {
T qnan_0x15 = FPBits::quiet_nan(Sign::POS, 0x15).get_val();
T neg_qnan_0x15 = FPBits::quiet_nan(Sign::NEG, 0x15).get_val();
T snan_0x15 = FPBits::signaling_nan(Sign::POS, 0x15).get_val();
T neg_snan_0x15 = FPBits::signaling_nan(Sign::NEG, 0x15).get_val();
EXPECT_TRUE(funcWrapper(func, aNaN, qnan_0x15));
EXPECT_FALSE(funcWrapper(func, sNaN, snan_0x15));
EXPECT_FALSE(funcWrapper(func, qnan_0x15, aNaN));
EXPECT_TRUE(funcWrapper(func, snan_0x15, sNaN));
EXPECT_TRUE(funcWrapper(func, neg_aNaN, neg_qnan_0x15));
EXPECT_FALSE(funcWrapper(func, neg_sNaN, neg_snan_0x15));
EXPECT_FALSE(funcWrapper(func, neg_qnan_0x15, neg_aNaN));
EXPECT_TRUE(funcWrapper(func, neg_snan_0x15, neg_sNaN));
}
if constexpr (FPBits::FRACTION_LEN - 1 >= 7) {
T qnan_0x42 = FPBits::quiet_nan(Sign::POS, 0x42).get_val();
T neg_qnan_0x42 = FPBits::quiet_nan(Sign::NEG, 0x42).get_val();
T snan_0x42 = FPBits::signaling_nan(Sign::POS, 0x42).get_val();
T neg_snan_0x42 = FPBits::signaling_nan(Sign::NEG, 0x42).get_val();
EXPECT_TRUE(funcWrapper(func, aNaN, qnan_0x42));
EXPECT_FALSE(funcWrapper(func, sNaN, snan_0x42));
EXPECT_FALSE(funcWrapper(func, qnan_0x42, aNaN));
EXPECT_TRUE(funcWrapper(func, snan_0x42, sNaN));
EXPECT_TRUE(funcWrapper(func, neg_aNaN, neg_qnan_0x42));
EXPECT_FALSE(funcWrapper(func, neg_sNaN, neg_snan_0x42));
EXPECT_FALSE(funcWrapper(func, neg_qnan_0x42, neg_aNaN));
EXPECT_TRUE(funcWrapper(func, neg_snan_0x42, neg_sNaN));
}
```
https://github.com/llvm/llvm-project/pull/155568
More information about the libc-commits
mailing list