15
15
let src_zero = F :: Int :: ZERO ;
16
16
let src_one = F :: Int :: ONE ;
17
17
let src_bits = F :: BITS ;
18
- let src_sign_bits = F :: SIG_BITS ;
18
+ let src_sig_bits = F :: SIG_BITS ;
19
19
let src_exp_bias = F :: EXP_BIAS ;
20
20
let src_min_normal = F :: IMPLICIT_BIT ;
21
21
let src_infinity = F :: EXP_MASK ;
@@ -25,12 +25,12 @@ where
25
25
let src_nan_code = src_qnan - src_one;
26
26
27
27
let dst_bits = R :: BITS ;
28
- let dst_sign_bits = R :: SIG_BITS ;
28
+ let dst_sig_bits = R :: SIG_BITS ;
29
29
let dst_inf_exp = R :: EXP_SAT ;
30
30
let dst_exp_bias = R :: EXP_BIAS ;
31
31
let dst_min_normal = R :: IMPLICIT_BIT ;
32
32
33
- let sign_bits_delta = dst_sign_bits - src_sign_bits ;
33
+ let sig_bits_delta = dst_sig_bits - src_sig_bits ;
34
34
let exp_bias_delta = dst_exp_bias - src_exp_bias;
35
35
let a_abs = a. to_bits ( ) & src_abs_mask;
36
36
let mut abs_result = R :: Int :: ZERO ;
41
41
// exponent into the proper position and rebiasing the exponent.
42
42
let abs_dst: R :: Int = a_abs. cast ( ) ;
43
43
let bias_dst: R :: Int = exp_bias_delta. cast ( ) ;
44
- abs_result = abs_dst. wrapping_shl ( sign_bits_delta ) ;
45
- abs_result += bias_dst. wrapping_shl ( dst_sign_bits ) ;
44
+ abs_result = abs_dst. wrapping_shl ( sig_bits_delta ) ;
45
+ abs_result += bias_dst. wrapping_shl ( dst_sig_bits ) ;
46
46
} else if a_abs >= src_infinity {
47
47
// a is NaN or infinity.
48
48
// Conjure the result by beginning with infinity, then setting the qNaN
@@ -51,18 +51,18 @@ where
51
51
let qnan_dst: R :: Int = ( a_abs & src_qnan) . cast ( ) ;
52
52
let nan_code_dst: R :: Int = ( a_abs & src_nan_code) . cast ( ) ;
53
53
let inf_exp_dst: R :: Int = dst_inf_exp. cast ( ) ;
54
- abs_result = inf_exp_dst. wrapping_shl ( dst_sign_bits ) ;
55
- abs_result |= qnan_dst. wrapping_shl ( sign_bits_delta ) ;
56
- abs_result |= nan_code_dst. wrapping_shl ( sign_bits_delta ) ;
54
+ abs_result = inf_exp_dst. wrapping_shl ( dst_sig_bits ) ;
55
+ abs_result |= qnan_dst. wrapping_shl ( sig_bits_delta ) ;
56
+ abs_result |= nan_code_dst. wrapping_shl ( sig_bits_delta ) ;
57
57
} else if a_abs != src_zero {
58
58
// a is denormal.
59
59
// Renormalize the significand and clear the leading bit, then insert
60
60
// the correct adjusted exponent in the destination type.
61
61
let scale = a_abs. leading_zeros ( ) - src_min_normal. leading_zeros ( ) ;
62
62
let abs_dst: R :: Int = a_abs. cast ( ) ;
63
63
let bias_dst: R :: Int = ( exp_bias_delta - scale + 1 ) . cast ( ) ;
64
- abs_result = abs_dst. wrapping_shl ( sign_bits_delta + scale) ;
65
- abs_result = ( abs_result ^ dst_min_normal) | ( bias_dst. wrapping_shl ( dst_sign_bits ) ) ;
64
+ abs_result = abs_dst. wrapping_shl ( sig_bits_delta + scale) ;
65
+ abs_result = ( abs_result ^ dst_min_normal) | ( bias_dst. wrapping_shl ( dst_sig_bits ) ) ;
66
66
}
67
67
68
68
let sign_result: R :: Int = ( a. to_bits ( ) & src_sign_mask) . cast ( ) ;
0 commit comments