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_finite ( ) {
45- let nan: f128 = f128:: NAN ;
46- let inf: f128 = f128:: INFINITY ;
47- let neg_inf: f128 = f128:: NEG_INFINITY ;
48- assert ! ( !nan. is_finite( ) ) ;
49- assert ! ( !inf. is_finite( ) ) ;
50- assert ! ( !neg_inf. is_finite( ) ) ;
51- assert ! ( 0.0f128 . is_finite( ) ) ;
52- assert ! ( 42.8f128 . is_finite( ) ) ;
53- assert ! ( ( -109.2f128 ) . is_finite( ) ) ;
54- }
55-
5643#[ test]
5744fn test_is_normal ( ) {
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_finite ( ) {
51- let nan: f16 = f16:: NAN ;
52- let inf: f16 = f16:: INFINITY ;
53- let neg_inf: f16 = f16:: NEG_INFINITY ;
54- assert ! ( !nan. is_finite( ) ) ;
55- assert ! ( !inf. is_finite( ) ) ;
56- assert ! ( !neg_inf. is_finite( ) ) ;
57- assert ! ( 0.0f16 . is_finite( ) ) ;
58- assert ! ( 42.8f16 . is_finite( ) ) ;
59- assert ! ( ( -109.2f16 ) . is_finite( ) ) ;
60- }
61-
6249#[ test]
6350fn test_is_normal ( ) {
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_finite ( ) {
35- let nan: f32 = f32:: NAN ;
36- let inf: f32 = f32:: INFINITY ;
37- let neg_inf: f32 = f32:: NEG_INFINITY ;
38- assert ! ( !nan. is_finite( ) ) ;
39- assert ! ( !inf. is_finite( ) ) ;
40- assert ! ( !neg_inf. is_finite( ) ) ;
41- assert ! ( 0.0f32 . is_finite( ) ) ;
42- assert ! ( 42.8f32 . is_finite( ) ) ;
43- assert ! ( ( -109.2f32 ) . is_finite( ) ) ;
44- }
45-
4633#[ test]
4734fn test_is_normal ( ) {
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_finite ( ) {
30- let nan: f64 = f64:: NAN ;
31- let inf: f64 = f64:: INFINITY ;
32- let neg_inf: f64 = f64:: NEG_INFINITY ;
33- assert ! ( !nan. is_finite( ) ) ;
34- assert ! ( !inf. is_finite( ) ) ;
35- assert ! ( !neg_inf. is_finite( ) ) ;
36- assert ! ( 0.0f64 . is_finite( ) ) ;
37- assert ! ( 42.8f64 . is_finite( ) ) ;
38- assert ! ( ( -109.2f64 ) . is_finite( ) ) ;
39- }
40-
4128#[ test]
4229fn test_is_normal ( ) {
4330 let nan: f64 = f64:: NAN ;
Original file line number Diff line number Diff line change @@ -424,6 +424,28 @@ float_test! {
424424 }
425425}
426426
427+ float_test ! {
428+ name: is_finite,
429+ attrs: {
430+ f16: #[ cfg( any( miri, target_has_reliable_f16) ) ] ,
431+ f128: #[ cfg( any( miri, target_has_reliable_f128) ) ] ,
432+ } ,
433+ test<Float > {
434+ let nan: Float = Float :: NAN ;
435+ let inf: Float = Float :: INFINITY ;
436+ let neg_inf: Float = Float :: NEG_INFINITY ;
437+ let zero: Float = 0.0 ;
438+ let pos: Float = 42.8 ;
439+ let neg: Float = -109.2 ;
440+ assert!( !nan. is_finite( ) ) ;
441+ assert!( !inf. is_finite( ) ) ;
442+ assert!( !neg_inf. is_finite( ) ) ;
443+ assert!( zero. is_finite( ) ) ;
444+ assert!( pos. is_finite( ) ) ;
445+ assert!( neg. is_finite( ) ) ;
446+ }
447+ }
448+
427449float_test ! {
428450 name: min,
429451 attrs: {
You can’t perform that action at this time.
0 commit comments