Skip to content

Commit 6f543ee

Browse files
committed
Fixed float next_up/down 32-bit x87 float NaN roundtrip test case.
1 parent f202a0b commit 6f543ee

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

library/std/src/f32/tests.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -296,12 +296,12 @@ fn test_next_up() {
296296
let smallest_normal = f32::from_bits(0x0080_0000);
297297

298298
// Check that NaNs roundtrip.
299-
let nan0 = f32::NAN.to_bits();
300-
let nan1 = f32::NAN.to_bits() ^ 0x002a_aaaa;
301-
let nan2 = f32::NAN.to_bits() ^ 0x0055_5555;
302-
assert_eq!(f32::from_bits(nan0).next_up().to_bits(), nan0);
303-
assert_eq!(f32::from_bits(nan1).next_up().to_bits(), nan1);
304-
assert_eq!(f32::from_bits(nan2).next_up().to_bits(), nan2);
299+
let nan0 = f32::NAN;
300+
let nan1 = f32::from_bits(f32::NAN.to_bits() ^ 0x002a_aaaa);
301+
let nan2 = f32::from_bits(f32::NAN.to_bits() ^ 0x0055_5555);
302+
assert_eq!(nan0.next_up().to_bits(), nan0.to_bits());
303+
assert_eq!(nan1.next_up().to_bits(), nan1.to_bits());
304+
assert_eq!(nan2.next_up().to_bits(), nan2.to_bits());
305305

306306
assert_eq!(f32::NEG_INFINITY.next_up(), f32::MIN);
307307
assert_eq!(f32::MIN.next_up(), -max_down);
@@ -327,12 +327,12 @@ fn test_next_down() {
327327
let smallest_normal = f32::from_bits(0x0080_0000);
328328

329329
// Check that NaNs roundtrip.
330-
let nan0 = f32::NAN.to_bits();
331-
let nan1 = f32::NAN.to_bits() ^ 0x002a_aaaa;
332-
let nan2 = f32::NAN.to_bits() ^ 0x0055_5555;
333-
assert_eq!(f32::from_bits(nan0).next_down().to_bits(), nan0);
334-
assert_eq!(f32::from_bits(nan1).next_down().to_bits(), nan1);
335-
assert_eq!(f32::from_bits(nan2).next_down().to_bits(), nan2);
330+
let nan0 = f32::NAN;
331+
let nan1 = f32::from_bits(f32::NAN.to_bits() ^ 0x002a_aaaa);
332+
let nan2 = f32::from_bits(f32::NAN.to_bits() ^ 0x0055_5555);
333+
assert_eq!(nan0.next_down().to_bits(), nan0.to_bits());
334+
assert_eq!(nan1.next_down().to_bits(), nan1.to_bits());
335+
assert_eq!(nan2.next_down().to_bits(), nan2.to_bits());
336336

337337
assert_eq!(f32::NEG_INFINITY.next_down(), f32::NEG_INFINITY);
338338
assert_eq!(f32::MIN.next_down(), f32::NEG_INFINITY);

library/std/src/f64/tests.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -298,12 +298,12 @@ fn test_next_up() {
298298
let smallest_normal = f64::from_bits(0x0010_0000_0000_0000);
299299

300300
// Check that NaNs roundtrip.
301-
let nan0 = f64::NAN.to_bits();
302-
let nan1 = f64::NAN.to_bits() ^ 0x000a_aaaa_aaaa_aaaa;
303-
let nan2 = f64::NAN.to_bits() ^ 0x0005_5555_5555_5555;
304-
assert_eq!(f64::from_bits(nan0).next_up().to_bits(), nan0);
305-
assert_eq!(f64::from_bits(nan1).next_up().to_bits(), nan1);
306-
assert_eq!(f64::from_bits(nan2).next_up().to_bits(), nan2);
301+
let nan0 = f64::NAN;
302+
let nan1 = f64::from_bits(f64::NAN.to_bits() ^ 0x000a_aaaa_aaaa_aaaa);
303+
let nan2 = f64::from_bits(f64::NAN.to_bits() ^ 0x0005_5555_5555_5555);
304+
assert_eq!(nan0.next_up().to_bits(), nan0.to_bits());
305+
assert_eq!(nan1.next_up().to_bits(), nan1.to_bits());
306+
assert_eq!(nan2.next_up().to_bits(), nan2.to_bits());
307307

308308
assert_eq!(f64::NEG_INFINITY.next_up(), f64::MIN);
309309
assert_eq!(f64::MIN.next_up(), -max_down);
@@ -329,12 +329,12 @@ fn test_next_down() {
329329
let smallest_normal = f64::from_bits(0x0010_0000_0000_0000);
330330

331331
// Check that NaNs roundtrip.
332-
let nan0 = f64::NAN.to_bits();
333-
let nan1 = f64::NAN.to_bits() ^ 0x000a_aaaa_aaaa_aaaa;
334-
let nan2 = f64::NAN.to_bits() ^ 0x0005_5555_5555_5555;
335-
assert_eq!(f64::from_bits(nan0).next_down().to_bits(), nan0);
336-
assert_eq!(f64::from_bits(nan1).next_down().to_bits(), nan1);
337-
assert_eq!(f64::from_bits(nan2).next_down().to_bits(), nan2);
332+
let nan0 = f64::NAN;
333+
let nan1 = f64::from_bits(f64::NAN.to_bits() ^ 0x000a_aaaa_aaaa_aaaa);
334+
let nan2 = f64::from_bits(f64::NAN.to_bits() ^ 0x0005_5555_5555_5555);
335+
assert_eq!(nan0.next_down().to_bits(), nan0.to_bits());
336+
assert_eq!(nan1.next_down().to_bits(), nan1.to_bits());
337+
assert_eq!(nan2.next_down().to_bits(), nan2.to_bits());
338338

339339
assert_eq!(f64::NEG_INFINITY.next_down(), f64::NEG_INFINITY);
340340
assert_eq!(f64::MIN.next_down(), f64::NEG_INFINITY);

0 commit comments

Comments
 (0)