Lines Matching refs:mantissa
18 // only if `mantissa + 1` produces a different result. We also avoid
21 let mut fp = compute_float::<F>(num.exponent, num.mantissa);
22 if num.many_digits && fp.exp >= 0 && fp != compute_float::<F>(num.exponent, num.mantissa + 1) {
25 fp = compute_error::<F>(num.exponent, num.mantissa);
90 let mut mantissa = hi >> (upperbit + 64 - F::MANTISSA_SIZE - 3);
98 mantissa >>= -power2 + 1;
99 mantissa += mantissa & 1;
100 mantissa >>= 1;
101 power2 = (mantissa >= (1_u64 << F::MANTISSA_SIZE)) as i32;
103 mant: mantissa,
114 // 2. The least-significant bit prior to truncated mantissa is odd.
115 // 3. All the bits truncated when shifting to mantissa bits + 1 are 0.
121 && mantissa & 3 == 1
122 && (mantissa << (upperbit + 64 - F::MANTISSA_SIZE - 3)) == hi
125 mantissa &= !1_u64;
128 mantissa += mantissa & 1;
129 mantissa >>= 1;
130 if mantissa >= (2_u64 << F::MANTISSA_SIZE) {
132 // mantissa to 1 (only the implicit, hidden bit is set) and
134 mantissa = 1_u64 << F::MANTISSA_SIZE;
138 mantissa &= !(1_u64 << F::MANTISSA_SIZE);
144 mant: mantissa,
160 /// Compute the error from a mantissa scaled to the exponent.
209 // in the explicit mantissa bits, +1 for the hidden bit, +1 to