[PATCH] Increase internal precision of ldbl-128ibm decimal printf
Andreas Schwab
schwab@linux-m68k.org
Thu Mar 17 21:56:00 GMT 2016
"Paul E. Murphy" <murphyp@linux.vnet.ibm.com> writes:
> + /* Hold 7 extra bits of precision in the mantissa. This allows
> + the normalizing shifts below to prevent losing precision when
> + the signs differ and the exponents are sufficiently far apart. */
> + lo <<= 7;
That magical number should probably get a name.
> /* we have a borrow from the hidden bit, so shift left 1. */
> - hi = 0x0ffffffffffffeLL | (lo >> 51);
> - lo = 0x1fffffffffffffLL & (lo << 1);
> + hi = 0x000ffffffffffffeLL | (lo >> (52 + 7));
> + lo = 0x0fffffffffffffffLL & (lo << 1);
Not 51 + 7?
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Libc-alpha
mailing list