[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