Skip to content

Commit 3241bbc

Browse files
orlpUrgau
authored andcommitted
Fixed float next_up/down 32-bit x87 float NaN roundtrip test case.
1 parent 0468189 commit 3241bbc

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

library/std/src/f32/tests.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -308,12 +308,12 @@ fn test_next_up() {
308308
let smallest_normal = f32::from_bits(0x0080_0000);
309309

310310
// Check that NaNs roundtrip.
311-
let nan0 = f32::NAN.to_bits();
312-
let nan1 = f32::NAN.to_bits() ^ 0x002a_aaaa;
313-
let nan2 = f32::NAN.to_bits() ^ 0x0055_5555;
314-
assert_eq!(f32::from_bits(nan0).next_up().to_bits(), nan0);
315-
assert_eq!(f32::from_bits(nan1).next_up().to_bits(), nan1);
316-
assert_eq!(f32::from_bits(nan2).next_up().to_bits(), nan2);
311+
let nan0 = f32::NAN;
312+
let nan1 = f32::from_bits(f32::NAN.to_bits() ^ 0x002a_aaaa);
313+
let nan2 = f32::from_bits(f32::NAN.to_bits() ^ 0x0055_5555);
314+
assert_eq!(nan0.next_up().to_bits(), nan0.to_bits());
315+
assert_eq!(nan1.next_up().to_bits(), nan1.to_bits());
316+
assert_eq!(nan2.next_up().to_bits(), nan2.to_bits());
317317

318318
assert_eq!(f32::NEG_INFINITY.next_up(), f32::MIN);
319319
assert_eq!(f32::MIN.next_up(), -max_down);
@@ -339,12 +339,12 @@ fn test_next_down() {
339339
let smallest_normal = f32::from_bits(0x0080_0000);
340340

341341
// Check that NaNs roundtrip.
342-
let nan0 = f32::NAN.to_bits();
343-
let nan1 = f32::NAN.to_bits() ^ 0x002a_aaaa;
344-
let nan2 = f32::NAN.to_bits() ^ 0x0055_5555;
345-
assert_eq!(f32::from_bits(nan0).next_down().to_bits(), nan0);
346-
assert_eq!(f32::from_bits(nan1).next_down().to_bits(), nan1);
347-
assert_eq!(f32::from_bits(nan2).next_down().to_bits(), nan2);
342+
let nan0 = f32::NAN;
343+
let nan1 = f32::from_bits(f32::NAN.to_bits() ^ 0x002a_aaaa);
344+
let nan2 = f32::from_bits(f32::NAN.to_bits() ^ 0x0055_5555);
345+
assert_eq!(nan0.next_down().to_bits(), nan0.to_bits());
346+
assert_eq!(nan1.next_down().to_bits(), nan1.to_bits());
347+
assert_eq!(nan2.next_down().to_bits(), nan2.to_bits());
348348

349349
assert_eq!(f32::NEG_INFINITY.next_down(), f32::NEG_INFINITY);
350350
assert_eq!(f32::MIN.next_down(), f32::NEG_INFINITY);

library/std/src/f64/tests.rs

Lines changed: 12 additions & 12 deletions
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)