Skip to content

Commit 1b8904c

Browse files
committed
Consolidate is_nan
1 parent 868020e commit 1b8904c

File tree

5 files changed

+22
-52
lines changed

5 files changed

+22
-52
lines changed

library/coretests/tests/floats/f128.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,6 @@ const NAN_MASK2: u128 = 0x00005555555555555555555555555555;
4040
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
4141
// the intrinsics.
4242

43-
#[test]
44-
fn test_is_nan() {
45-
let nan: f128 = f128::NAN;
46-
let inf: f128 = f128::INFINITY;
47-
let neg_inf: f128 = f128::NEG_INFINITY;
48-
assert!(nan.is_nan());
49-
assert!(!0.0f128.is_nan());
50-
assert!(!5.3f128.is_nan());
51-
assert!(!(-10.732f128).is_nan());
52-
assert!(!inf.is_nan());
53-
assert!(!neg_inf.is_nan());
54-
}
55-
5643
#[test]
5744
fn test_is_infinite() {
5845
let nan: f128 = f128::NAN;

library/coretests/tests/floats/f16.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,6 @@ const NAN_MASK2: u16 = 0x0155;
4646
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
4747
// the intrinsics.
4848

49-
#[test]
50-
fn test_is_nan() {
51-
let nan: f16 = f16::NAN;
52-
let inf: f16 = f16::INFINITY;
53-
let neg_inf: f16 = f16::NEG_INFINITY;
54-
assert!(nan.is_nan());
55-
assert!(!0.0f16.is_nan());
56-
assert!(!5.3f16.is_nan());
57-
assert!(!(-10.732f16).is_nan());
58-
assert!(!inf.is_nan());
59-
assert!(!neg_inf.is_nan());
60-
}
61-
6249
#[test]
6350
fn test_is_infinite() {
6451
let nan: f16 = f16::NAN;

library/coretests/tests/floats/f32.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,6 @@ const NAN_MASK2: u32 = 0x0055_5555;
3030
/// They serve as a way to get an idea of the real precision of floating point operations on different platforms.
3131
const APPROX_DELTA: f32 = if cfg!(miri) { 1e-4 } else { 1e-6 };
3232

33-
#[test]
34-
fn test_is_nan() {
35-
let nan: f32 = f32::NAN;
36-
let inf: f32 = f32::INFINITY;
37-
let neg_inf: f32 = f32::NEG_INFINITY;
38-
assert!(nan.is_nan());
39-
assert!(!0.0f32.is_nan());
40-
assert!(!5.3f32.is_nan());
41-
assert!(!(-10.732f32).is_nan());
42-
assert!(!inf.is_nan());
43-
assert!(!neg_inf.is_nan());
44-
}
45-
4633
#[test]
4734
fn test_is_infinite() {
4835
let nan: f32 = f32::NAN;

library/coretests/tests/floats/f64.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,6 @@ const NAN_MASK1: u64 = 0x000a_aaaa_aaaa_aaaa;
2525
/// Second pattern over the mantissa
2626
const NAN_MASK2: u64 = 0x0005_5555_5555_5555;
2727

28-
#[test]
29-
fn test_is_nan() {
30-
let nan: f64 = f64::NAN;
31-
let inf: f64 = f64::INFINITY;
32-
let neg_inf: f64 = f64::NEG_INFINITY;
33-
assert!(nan.is_nan());
34-
assert!(!0.0f64.is_nan());
35-
assert!(!5.3f64.is_nan());
36-
assert!(!(-10.732f64).is_nan());
37-
assert!(!inf.is_nan());
38-
assert!(!neg_inf.is_nan());
39-
}
40-
4128
#[test]
4229
fn test_is_infinite() {
4330
let nan: f64 = f64::NAN;

library/coretests/tests/floats/mod.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,28 @@ float_test! {
380380
}
381381
}
382382

383+
float_test! {
384+
name: is_nan,
385+
attrs: {
386+
f16: #[cfg(any(miri, target_has_reliable_f16))],
387+
f128: #[cfg(any(miri, target_has_reliable_f128))],
388+
},
389+
test<Float> {
390+
let nan: Float = Float::NAN;
391+
let inf: Float = Float::INFINITY;
392+
let neg_inf: Float = Float::NEG_INFINITY;
393+
let zero: Float = 0.0;
394+
let pos: Float = 5.3;
395+
let neg: Float = -10.732;
396+
assert!(nan.is_nan());
397+
assert!(!zero.is_nan());
398+
assert!(!pos.is_nan());
399+
assert!(!neg.is_nan());
400+
assert!(!inf.is_nan());
401+
assert!(!neg_inf.is_nan());
402+
}
403+
}
404+
383405
float_test! {
384406
name: min,
385407
attrs: {

0 commit comments

Comments
 (0)