Lines Matching refs:error
128 // Otherwise it has been rounded and has error of at most 1/2 ulp.
240 // If remaining_decimals is different than 0 than the error is at most
248 int64_t error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
252 error <<= old_e - input.e();
273 // The adjustment power is exact. There is hence only an error of 0.5.
274 error += kDenominator / 2;
279 // The error introduced by a multiplication of a*b equals
282 // error_b = 0.5 (all cached powers have an error of less than 0.5 ulp),
285 int error_ab = (error == 0 ? 0 : 1); // We round up to 1.
287 error += error_b + error_ab + fixed_error;
291 error <<= old_e - input.e();
293 // See if the double's significand changes if we add/subtract the error.
307 // We add 1 for the lost precision of error, and kDenominator for
309 error = (error >> shift_amount) + 1 + kDenominator;
323 if (precision_bits >= half_way + error) {
331 if (half_way - error < precision_bits && precision_bits < half_way + error) {