File tree Expand file tree Collapse file tree 5 files changed +22
-52
lines changed 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;
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]
5744fn test_is_infinite ( ) {
5845 let nan: f128 = f128:: NAN ;
Original file line number Diff line number Diff 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]
6350fn test_is_infinite ( ) {
6451 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;
3030/// They serve as a way to get an idea of the real precision of floating point operations on different platforms.
3131const 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]
4734fn test_is_infinite ( ) {
4835 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;
2525/// Second pattern over the mantissa
2626const 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]
4229fn test_is_infinite ( ) {
4330 let nan: f64 = f64:: NAN ;
Original file line number Diff line number Diff 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+
383405float_test ! {
384406 name: min,
385407 attrs: {
You can’t perform that action at this time.
0 commit comments