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;
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_infinite ( ) {
45- let nan: f128 = f128:: NAN ;
46- let inf: f128 = f128:: INFINITY ;
47- let neg_inf: f128 = f128:: NEG_INFINITY ;
48- assert ! ( !nan. is_infinite( ) ) ;
49- assert ! ( inf. is_infinite( ) ) ;
50- assert ! ( neg_inf. is_infinite( ) ) ;
51- assert ! ( !0.0f128 . is_infinite( ) ) ;
52- assert ! ( !42.8f128 . is_infinite( ) ) ;
53- assert ! ( !( -109.2f128 ) . is_infinite( ) ) ;
54- }
55-
5643#[ test]
5744fn test_is_finite ( ) {
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_infinite ( ) {
51- let nan: f16 = f16:: NAN ;
52- let inf: f16 = f16:: INFINITY ;
53- let neg_inf: f16 = f16:: NEG_INFINITY ;
54- assert ! ( !nan. is_infinite( ) ) ;
55- assert ! ( inf. is_infinite( ) ) ;
56- assert ! ( neg_inf. is_infinite( ) ) ;
57- assert ! ( !0.0f16 . is_infinite( ) ) ;
58- assert ! ( !42.8f16 . is_infinite( ) ) ;
59- assert ! ( !( -109.2f16 ) . is_infinite( ) ) ;
60- }
61-
6249#[ test]
6350fn test_is_finite ( ) {
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_infinite ( ) {
35- let nan: f32 = f32:: NAN ;
36- let inf: f32 = f32:: INFINITY ;
37- let neg_inf: f32 = f32:: NEG_INFINITY ;
38- assert ! ( !nan. is_infinite( ) ) ;
39- assert ! ( inf. is_infinite( ) ) ;
40- assert ! ( neg_inf. is_infinite( ) ) ;
41- assert ! ( !0.0f32 . is_infinite( ) ) ;
42- assert ! ( !42.8f32 . is_infinite( ) ) ;
43- assert ! ( !( -109.2f32 ) . is_infinite( ) ) ;
44- }
45-
4633#[ test]
4734fn test_is_finite ( ) {
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_infinite ( ) {
30- let nan: f64 = f64:: NAN ;
31- let inf: f64 = f64:: INFINITY ;
32- let neg_inf: f64 = f64:: NEG_INFINITY ;
33- assert ! ( !nan. is_infinite( ) ) ;
34- assert ! ( inf. is_infinite( ) ) ;
35- assert ! ( neg_inf. is_infinite( ) ) ;
36- assert ! ( !0.0f64 . is_infinite( ) ) ;
37- assert ! ( !42.8f64 . is_infinite( ) ) ;
38- assert ! ( !( -109.2f64 ) . is_infinite( ) ) ;
39- }
40-
4128#[ test]
4229fn test_is_finite ( ) {
4330 let nan: f64 = f64:: NAN ;
Original file line number Diff line number Diff line change @@ -402,6 +402,28 @@ float_test! {
402402 }
403403}
404404
405+ float_test ! {
406+ name: is_infinite,
407+ attrs: {
408+ f16: #[ cfg( any( miri, target_has_reliable_f16) ) ] ,
409+ f128: #[ cfg( any( miri, target_has_reliable_f128) ) ] ,
410+ } ,
411+ test<Float > {
412+ let nan: Float = Float :: NAN ;
413+ let inf: Float = Float :: INFINITY ;
414+ let neg_inf: Float = Float :: NEG_INFINITY ;
415+ let zero: Float = 0.0 ;
416+ let pos: Float = 42.8 ;
417+ let neg: Float = -109.2 ;
418+ assert!( !nan. is_infinite( ) ) ;
419+ assert!( inf. is_infinite( ) ) ;
420+ assert!( neg_inf. is_infinite( ) ) ;
421+ assert!( !zero. is_infinite( ) ) ;
422+ assert!( !pos. is_infinite( ) ) ;
423+ assert!( !neg. is_infinite( ) ) ;
424+ }
425+ }
426+
405427float_test ! {
406428 name: min,
407429 attrs: {
You can’t perform that action at this time.
0 commit comments