This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/18980] i386 libm functions return with excess range and precision
- From: "jsm28 at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 18 Sep 2015 17:05:56 +0000
- Subject: [Bug math/18980] i386 libm functions return with excess range and precision
- Auto-submitted: auto-generated
- References: <bug-18980-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=18980
--- Comment #1 from Joseph Myers <jsm28 at gcc dot gnu.org> ---
Example failures for float:
Failure: cosh (-0x2.c5d374p+12): Exception "Overflow" not set
Failure: Test: cosh_downward (-0x2.c5d374p+12)
Result:
is: inf inf
should be: 3.40282346638528859811e+38 0x1.fffffe00000000000000p+127
I believe the mechanism is that previously the wrapper would call __finitef,
thereby forcing a return with excess range to overflow. Now, isfinite, without
-fexcess-precision=standard, knows nothing about the excess precision, compares
with FLT_MAX and deduces independent of the rounding mode that the value with
excess precision is infinite, so resulting in __kernel_standard_f returning an
infinity (also without overflow exception resulting) independent of the
rounding mode.
--
You are receiving this mail because:
You are on the CC list for the bug.