@@ -9,27 +9,27 @@ macro_rules! add {
99 #[ allow( unused_parens) ]
1010 #[ cfg_attr( not( test) , no_mangle) ]
1111 pub extern fn $intrinsic( a: $ty, b: $ty) -> $ty {
12- let one = Wrapping ( 1 as <$ty as Float >:: Int ) ;
13- let zero = Wrapping ( 0 as <$ty as Float >:: Int ) ;
14-
15- let bits = Wrapping ( <$ty>:: bits( ) as <$ty as Float >:: Int ) ;
16- let significand_bits = Wrapping ( <$ty>:: significand_bits( ) as <$ty as Float >:: Int ) ;
17- let exponent_bits = Wrapping ( <$ty>:: exponent_bits( ) as <$ty as Float >:: Int ) ;
18- let max_exponent = ( one << exponent_bits. 0 as usize ) - one;
19-
20- let implicit_bit = one << significand_bits. 0 as usize ;
21- let significand_mask = implicit_bit - one;
22- let sign_bit = one << ( significand_bits + exponent_bits) . 0 as usize ;
23- let abs_mask = sign_bit - one;
24- let exponent_mask = abs_mask ^ significand_mask;
25- let inf_rep = exponent_mask;
26- let quiet_bit = implicit_bit >> 1 ;
27- let qnan_rep = exponent_mask | quiet_bit;
28-
29- let mut a_rep = Wrapping ( a. repr( ) ) ;
30- let mut b_rep = Wrapping ( b. repr( ) ) ;
31- let a_abs = a_rep & abs_mask;
32- let b_abs = b_rep & abs_mask;
12+ let one = Wrapping ( 1 as <$ty as Float >:: Int ) ;
13+ let zero = Wrapping ( 0 as <$ty as Float >:: Int ) ;
14+
15+ let bits = Wrapping ( <$ty>:: bits( ) as <$ty as Float >:: Int ) ;
16+ let significand_bits = Wrapping ( <$ty>:: significand_bits( ) as <$ty as Float >:: Int ) ;
17+ let exponent_bits = Wrapping ( <$ty>:: exponent_bits( ) as <$ty as Float >:: Int ) ;
18+ let max_exponent = ( one << exponent_bits. 0 as usize ) - one;
19+
20+ let implicit_bit = one << significand_bits. 0 as usize ;
21+ let significand_mask = implicit_bit - one;
22+ let sign_bit = one << ( significand_bits + exponent_bits) . 0 as usize ;
23+ let abs_mask = sign_bit - one;
24+ let exponent_mask = abs_mask ^ significand_mask;
25+ let inf_rep = exponent_mask;
26+ let quiet_bit = implicit_bit >> 1 ;
27+ let qnan_rep = exponent_mask | quiet_bit;
28+
29+ let mut a_rep = Wrapping ( a. repr( ) ) ;
30+ let mut b_rep = Wrapping ( b. repr( ) ) ;
31+ let a_abs = a_rep & abs_mask;
32+ let b_abs = b_rep & abs_mask;
3333
3434 // Detect if a or b is zero, infinity, or NaN.
3535 if a_abs - one >= inf_rep - one ||
0 commit comments