[PATCH] BZ#2423 Errors in long double (ldbl-128ibm) rounding functions in glibc-2.4

Steven Munroe munroesj@us.ibm.com
Mon Mar 6 21:01:00 GMT 2006


With additional testing we found more corner cases where the ldbl-128ibm implementations of the rounding functions gave incorrect results. See BZ 2423 for details and test cases.

These are cases where the "decimal point" is at or near the split
between the high/low doubles that compose the long double. Working with
Alan Modra we developed more comprehensive tests and improved algorithms
for rintl, roundl, ceill, floorl, truncl.

These improved implementations exposed an performance issue in for
powerpc due to  the heavy use of fegetround/fesetround. So we provided
an improved implementation of fesetround and provided for inlining
fegetround/fesetround for the long double rounding functions.

Finally we provided updated tests for libm-test.inc.

The remaining work is to improve llrintl and llroundl which has provided to be very tricky. We will provide the fix soon as a separate patch.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc-ldround-20060303.txt
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20060306/38046bd2/attachment.txt>


More information about the Libc-alpha mailing list