File tree 1 file changed +7
-0
lines changed
1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change 4
4
#![ feature( const_panic) ]
5
5
#![ feature( const_if_match) ]
6
6
#![ feature( const_float_bits_conv) ]
7
+ #![ feature( const_float_classify) ]
7
8
8
9
// Don't promote
9
10
const fn nop < T > ( x : T ) -> T { x }
@@ -44,6 +45,9 @@ fn f32() {
44
45
const MASKED_NAN1 : u32 = f32:: NAN . to_bits ( ) ^ 0x002A_AAAA ;
45
46
const MASKED_NAN2 : u32 = f32:: NAN . to_bits ( ) ^ 0x0055_5555 ;
46
47
48
+ const_assert ! ( f32 :: from_bits( MASKED_NAN1 ) . is_nan( ) ) ;
49
+ const_assert ! ( f32 :: from_bits( MASKED_NAN1 ) . is_nan( ) ) ;
50
+
47
51
const_assert ! ( f32 :: from_bits( MASKED_NAN1 ) . to_bits( ) , MASKED_NAN1 ) ;
48
52
const_assert ! ( f32 :: from_bits( MASKED_NAN2 ) . to_bits( ) , MASKED_NAN2 ) ;
49
53
}
@@ -69,6 +73,9 @@ fn f64() {
69
73
const MASKED_NAN1 : u64 = f64:: NAN . to_bits ( ) ^ 0x000A_AAAA_AAAA_AAAA ;
70
74
const MASKED_NAN2 : u64 = f64:: NAN . to_bits ( ) ^ 0x0005_5555_5555_5555 ;
71
75
76
+ const_assert ! ( f64 :: from_bits( MASKED_NAN1 ) . is_nan( ) ) ;
77
+ const_assert ! ( f64 :: from_bits( MASKED_NAN1 ) . is_nan( ) ) ;
78
+
72
79
const_assert ! ( f64 :: from_bits( MASKED_NAN1 ) . to_bits( ) , MASKED_NAN1 ) ;
73
80
const_assert ! ( f64 :: from_bits( MASKED_NAN2 ) . to_bits( ) , MASKED_NAN2 ) ;
74
81
}
You can’t perform that action at this time.
0 commit comments