Skip to content

Commit 9788368

Browse files
author
Job Henandez Lara
authored
[libc][math][c23] Fix setpayloadsig smoke test on RV32 (#102538)
1 parent 0a4e1c5 commit 9788368

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

libc/test/src/math/smoke/SetPayloadSigTest.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,13 @@ class SetPayloadSigTestTemplate : public LIBC_NAMESPACE::testing::FEnvSafeTest {
3535
EXPECT_EQ(1, func(&res, T(-1.0)));
3636
EXPECT_EQ(1, func(&res, T(0x42.1p+0)));
3737
EXPECT_EQ(1, func(&res, T(-0x42.1p+0)));
38-
EXPECT_EQ(1, func(&res, T(StorageType(1) << (FPBits::FRACTION_LEN - 1))));
38+
39+
FPBits default_snan_payload_bits = FPBits::one();
40+
default_snan_payload_bits.set_biased_exponent(FPBits::FRACTION_LEN - 1 +
41+
FPBits::EXP_BIAS);
42+
T default_snan_payload = default_snan_payload_bits.get_val();
43+
44+
EXPECT_EQ(1, func(&res, default_snan_payload));
3945
}
4046

4147
void testValidPayloads(SetPayloadSigFunc func) {
@@ -56,7 +62,12 @@ class SetPayloadSigTestTemplate : public LIBC_NAMESPACE::testing::FEnvSafeTest {
5662
EXPECT_EQ(FPBits::signaling_nan(Sign::POS, 0x123).uintval(),
5763
FPBits(res).uintval());
5864

59-
EXPECT_EQ(0, func(&res, T(FPBits::FRACTION_MASK >> 1)));
65+
FPBits nan_payload_bits = FPBits::one();
66+
nan_payload_bits.set_biased_exponent(FPBits::FRACTION_LEN - 2 +
67+
FPBits::EXP_BIAS);
68+
nan_payload_bits.set_mantissa(FPBits::SIG_MASK - 3);
69+
T nan_payload = nan_payload_bits.get_val();
70+
EXPECT_EQ(0, func(&res, nan_payload));
6071
EXPECT_TRUE(FPBits(res).is_signaling_nan());
6172
EXPECT_EQ(
6273
FPBits::signaling_nan(Sign::POS, FPBits::FRACTION_MASK >> 1).uintval(),

0 commit comments

Comments
 (0)