This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Add testcase for expl
- From: Stefan Liebler <stli at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Thu, 06 Feb 2014 16:40:36 +0100
- Subject: [PATCH] Add testcase for expl
- Authentication-results: sourceware.org; auth=none
Hi,
due to Bug 16447, the function __erfcl
in sysdeps/ieee754/ldbl-128/s_erfl.c
calls __ieee754_expl in sysdeps/ieee754/ldbl-128/e_expl.c.
The value returned by expl is a normalized value, but FE_UNDERFLOW is
set on S/390. Therefore the testcase shows the problem directly.
Bye
---
2014-02-06 Stefan Liebler <stli@linux.vnet.ibm.com>
* math/auto-libm-test-in: Add testcase for expl
* math/auto-libm-test-out: Likewise
---
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index b919dbc..60292a0 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -725,6 +725,8 @@ exp max xfail-rounding:dbl-64 xfail-rounding:ldbl-128ibm
exp -7.4444006192138124e+02
exp -0x1.75f113c30b1c8p+9
exp -max
+# Bug 16447:result is normalized value, but FE_UNDERFLOW is set
+exp -11342.8125
exp10 0
exp10 -0
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 8955e18..93818e8 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -62149,6 +62149,31 @@ exp -max
= exp tonearest ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L :
0x0p+0L : inexact-ok underflow errno-erange
= exp towardzero ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L :
0x0p+0L : inexact-ok underflow errno-erange
= exp upward ldbl-128ibm -0xf.ffffffffffffbffffffffffffcp+1020L :
0x4p-1076L : inexact-ok underflow errno-erange-ok
+exp -11342.8125
+= exp downward flt-32 -0x2.c4edp+12f : 0x0p+0f : inexact-ok underflow
errno-erange
+= exp tonearest flt-32 -0x2.c4edp+12f : 0x0p+0f : inexact-ok underflow
errno-erange
+= exp towardzero flt-32 -0x2.c4edp+12f : 0x0p+0f : inexact-ok underflow
errno-erange
+= exp upward flt-32 -0x2.c4edp+12f : 0x8p-152f : inexact-ok underflow
errno-erange-ok
+= exp downward dbl-64 -0x2.c4edp+12 : 0x0p+0 : inexact-ok underflow
errno-erange
+= exp tonearest dbl-64 -0x2.c4edp+12 : 0x0p+0 : inexact-ok underflow
errno-erange
+= exp towardzero dbl-64 -0x2.c4edp+12 : 0x0p+0 : inexact-ok underflow
errno-erange
+= exp upward dbl-64 -0x2.c4edp+12 : 0x4p-1076 : inexact-ok underflow
errno-erange-ok
+= exp downward ldbl-96-intel -0x2.c4edp+12L :
0xd.be48e2532594eccp-16368L : inexact-ok
+= exp tonearest ldbl-96-intel -0x2.c4edp+12L :
0xd.be48e2532594eccp-16368L : inexact-ok
+= exp towardzero ldbl-96-intel -0x2.c4edp+12L :
0xd.be48e2532594eccp-16368L : inexact-ok
+= exp upward ldbl-96-intel -0x2.c4edp+12L : 0xd.be48e2532594ecdp-16368L
: inexact-ok
+= exp downward ldbl-96-m68k -0x2.c4edp+12L :
0xd.be48e2532594eccp-16368L : inexact-ok
+= exp tonearest ldbl-96-m68k -0x2.c4edp+12L :
0xd.be48e2532594eccp-16368L : inexact-ok
+= exp towardzero ldbl-96-m68k -0x2.c4edp+12L :
0xd.be48e2532594eccp-16368L : inexact-ok
+= exp upward ldbl-96-m68k -0x2.c4edp+12L : 0xd.be48e2532594ecdp-16368L
: inexact-ok
+= exp downward ldbl-128 -0x2.c4edp+12L :
0xd.be48e2532594ecc1a3b8f7ce2038p-16368L : inexact-ok
+= exp tonearest ldbl-128 -0x2.c4edp+12L :
0xd.be48e2532594ecc1a3b8f7ce2038p-16368L : inexact-ok
+= exp towardzero ldbl-128 -0x2.c4edp+12L :
0xd.be48e2532594ecc1a3b8f7ce2038p-16368L : inexact-ok
+= exp upward ldbl-128 -0x2.c4edp+12L :
0xd.be48e2532594ecc1a3b8f7ce204p-16368L : inexact-ok
+= exp downward ldbl-128ibm -0x2.c4edp+12L : 0x0p+0L : inexact-ok
underflow errno-erange
+= exp tonearest ldbl-128ibm -0x2.c4edp+12L : 0x0p+0L : inexact-ok
underflow errno-erange
+= exp towardzero ldbl-128ibm -0x2.c4edp+12L : 0x0p+0L : inexact-ok
underflow errno-erange
+= exp upward ldbl-128ibm -0x2.c4edp+12L : 0x4p-1076L : inexact-ok
underflow errno-erange-ok
exp10 0
= exp10 downward flt-32 0x0p+0f : 0x1p+0f : inexact-ok
= exp10 tonearest flt-32 0x0p+0f : 0x1p+0f : inexact-ok