File tree Expand file tree Collapse file tree 5 files changed +19
-52
lines changed
library/coretests/tests/floats Expand file tree Collapse file tree 5 files changed +19
-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_zero ( ) {
45- let zero: f128 = 0.0f128 ;
46- assert_biteq ! ( 0.0 , zero) ;
47- assert ! ( !zero. is_infinite( ) ) ;
48- assert ! ( zero. is_finite( ) ) ;
49- assert ! ( zero. is_sign_positive( ) ) ;
50- assert ! ( !zero. is_sign_negative( ) ) ;
51- assert ! ( !zero. is_nan( ) ) ;
52- assert ! ( !zero. is_normal( ) ) ;
53- assert_eq ! ( Fp :: Zero , zero. classify( ) ) ;
54- }
55-
5643#[ test]
5744fn test_neg_zero ( ) {
5845 let neg_zero: f128 = -0.0 ;
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_zero ( ) {
51- let zero: f16 = 0.0f16 ;
52- assert_biteq ! ( 0.0 , zero) ;
53- assert ! ( !zero. is_infinite( ) ) ;
54- assert ! ( zero. is_finite( ) ) ;
55- assert ! ( zero. is_sign_positive( ) ) ;
56- assert ! ( !zero. is_sign_negative( ) ) ;
57- assert ! ( !zero. is_nan( ) ) ;
58- assert ! ( !zero. is_normal( ) ) ;
59- assert_eq ! ( Fp :: Zero , zero. classify( ) ) ;
60- }
61-
6249#[ test]
6350fn test_neg_zero ( ) {
6451 let neg_zero: f16 = -0.0 ;
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_zero ( ) {
35- let zero: f32 = 0.0f32 ;
36- assert_biteq ! ( 0.0 , zero) ;
37- assert ! ( !zero. is_infinite( ) ) ;
38- assert ! ( zero. is_finite( ) ) ;
39- assert ! ( zero. is_sign_positive( ) ) ;
40- assert ! ( !zero. is_sign_negative( ) ) ;
41- assert ! ( !zero. is_nan( ) ) ;
42- assert ! ( !zero. is_normal( ) ) ;
43- assert_eq ! ( Fp :: Zero , zero. classify( ) ) ;
44- }
45-
4633#[ test]
4734fn test_neg_zero ( ) {
4835 let neg_zero: f32 = -0.0 ;
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_zero ( ) {
30- let zero: f64 = 0.0f64 ;
31- assert_biteq ! ( 0.0 , zero) ;
32- assert ! ( !zero. is_infinite( ) ) ;
33- assert ! ( zero. is_finite( ) ) ;
34- assert ! ( zero. is_sign_positive( ) ) ;
35- assert ! ( !zero. is_sign_negative( ) ) ;
36- assert ! ( !zero. is_nan( ) ) ;
37- assert ! ( !zero. is_normal( ) ) ;
38- assert_eq ! ( Fp :: Zero , zero. classify( ) ) ;
39- }
40-
4128#[ test]
4229fn test_neg_zero ( ) {
4330 let neg_zero: f64 = -0.0 ;
Original file line number Diff line number Diff line change @@ -322,6 +322,25 @@ float_test! {
322322 }
323323}
324324
325+ float_test ! {
326+ name: zero,
327+ attrs: {
328+ f16: #[ cfg( any( miri, target_has_reliable_f16) ) ] ,
329+ f128: #[ cfg( any( miri, target_has_reliable_f128) ) ] ,
330+ } ,
331+ test<Float > {
332+ let zero: Float = 0.0 ;
333+ assert_biteq!( 0.0 , zero) ;
334+ assert!( !zero. is_infinite( ) ) ;
335+ assert!( zero. is_finite( ) ) ;
336+ assert!( zero. is_sign_positive( ) ) ;
337+ assert!( !zero. is_sign_negative( ) ) ;
338+ assert!( !zero. is_nan( ) ) ;
339+ assert!( !zero. is_normal( ) ) ;
340+ assert!( matches!( zero. classify( ) , Fp :: Zero ) ) ;
341+ }
342+ }
343+
325344float_test ! {
326345 name: min,
327346 attrs: {
You can’t perform that action at this time.
0 commit comments