@@ -35,7 +35,13 @@ class SetPayloadSigTestTemplate : public LIBC_NAMESPACE::testing::FEnvSafeTest {
35
35
EXPECT_EQ (1 , func (&res, T (-1.0 )));
36
36
EXPECT_EQ (1 , func (&res, T (0x42 .1p+0 )));
37
37
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));
39
45
}
40
46
41
47
void testValidPayloads (SetPayloadSigFunc func) {
@@ -56,7 +62,12 @@ class SetPayloadSigTestTemplate : public LIBC_NAMESPACE::testing::FEnvSafeTest {
56
62
EXPECT_EQ (FPBits::signaling_nan (Sign::POS, 0x123 ).uintval (),
57
63
FPBits (res).uintval ());
58
64
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));
60
71
EXPECT_TRUE (FPBits (res).is_signaling_nan ());
61
72
EXPECT_EQ (
62
73
FPBits::signaling_nan (Sign::POS, FPBits::FRACTION_MASK >> 1 ).uintval (),
0 commit comments