File tree Expand file tree Collapse file tree 5 files changed +22
-52
lines changed
library/coretests/tests/floats Expand file tree Collapse file tree 5 files changed +22
-52
lines changed Original file line number Diff line number Diff line change @@ -40,19 +40,6 @@ const NAN_MASK2: u128 = 0x00005555555555555555555555555555;
40
40
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
41
41
// the intrinsics.
42
42
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
-
56
43
#[ test]
57
44
fn test_is_infinite ( ) {
58
45
let nan: f128 = f128:: NAN ;
Original file line number Diff line number Diff line change @@ -46,19 +46,6 @@ const NAN_MASK2: u16 = 0x0155;
46
46
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
47
47
// the intrinsics.
48
48
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
-
62
49
#[ test]
63
50
fn test_is_infinite ( ) {
64
51
let nan: f16 = f16:: NAN ;
Original file line number Diff line number Diff line change @@ -30,19 +30,6 @@ const NAN_MASK2: u32 = 0x0055_5555;
30
30
/// They serve as a way to get an idea of the real precision of floating point operations on different platforms.
31
31
const APPROX_DELTA : f32 = if cfg ! ( miri) { 1e-4 } else { 1e-6 } ;
32
32
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
-
46
33
#[ test]
47
34
fn test_is_infinite ( ) {
48
35
let nan: f32 = f32:: NAN ;
Original file line number Diff line number Diff line change @@ -25,19 +25,6 @@ const NAN_MASK1: u64 = 0x000a_aaaa_aaaa_aaaa;
25
25
/// Second pattern over the mantissa
26
26
const NAN_MASK2 : u64 = 0x0005_5555_5555_5555 ;
27
27
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
-
41
28
#[ test]
42
29
fn test_is_infinite ( ) {
43
30
let nan: f64 = f64:: NAN ;
Original file line number Diff line number Diff line change @@ -380,6 +380,28 @@ float_test! {
380
380
}
381
381
}
382
382
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
+
383
405
float_test ! {
384
406
name: min,
385
407
attrs: {
You can’t perform that action at this time.
0 commit comments