File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -18,9 +18,22 @@ fn main() {
18
18
assert_eq ( -{ 5.0_f64 } , -5.0_f64 ) ;
19
19
// infinities, NaN
20
20
assert ! ( ( 5.0_f32 /0.0 ) . is_infinite( ) ) ;
21
+ assert_ne ! ( { 5.0_f32 /0.0 } , { -5.0_f32 /0.0 } ) ;
21
22
assert ! ( ( 5.0_f64 /0.0 ) . is_infinite( ) ) ;
23
+ assert_ne ! ( { 5.0_f64 /0.0 } , { 5.0_f64 /-0.0 } ) ;
22
24
assert ! ( ( -5.0_f32 ) . sqrt( ) . is_nan( ) ) ;
23
25
assert ! ( ( -5.0_f64 ) . sqrt( ) . is_nan( ) ) ;
26
+ assert_ne ! ( f32 :: NAN , f32 :: NAN ) ;
27
+ assert_ne ! ( f64 :: NAN , f64 :: NAN ) ;
28
+ // negative zero
29
+ let posz = 0.0f32 ;
30
+ let negz = -0.0f32 ;
31
+ assert_eq ( posz, negz) ;
32
+ assert_ne ! ( posz. to_bits( ) , negz. to_bits( ) ) ;
33
+ let posz = 0.0f64 ;
34
+ let negz = -0.0f64 ;
35
+ assert_eq ( posz, negz) ;
36
+ assert_ne ! ( posz. to_bits( ) , negz. to_bits( ) ) ;
24
37
// byte-level transmute
25
38
let x: u64 = unsafe { std:: mem:: transmute ( 42.0_f64 ) } ;
26
39
let y: f64 = unsafe { std:: mem:: transmute ( x) } ;
You can’t perform that action at this time.
0 commit comments