This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.16-ports-merge-684-g447885e
- From: davem at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 16 Nov 2012 17:41:18 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.16-ports-merge-684-g447885e
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 447885ebf1c1fc8adf4084f5e2708ff84d0da43b (commit)
from bcbf9830b735acdd9b0d49fe96da73dfacfa17d0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=447885ebf1c1fc8adf4084f5e2708ff84d0da43b
commit 447885ebf1c1fc8adf4084f5e2708ff84d0da43b
Author: David S. Miller <davem@davemloft.net>
Date: Fri Nov 16 09:31:38 2012 -0800
Don't generate underflow for very small values in log1pl.
* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): If xm1 is
smaller than LDBL_EPSILON/2.0L, just return xm1.
diff --git a/ChangeLog b/ChangeLog
index 8b980c1..64378be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-16 David S. Miller <davem@davemloft.net>
+
+ * sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): If xm1 is
+ smaller than LDBL_EPSILON/2.0L, just return xm1.
+
2012-11-16 H.J. Lu <hongjiu.lu@intel.com>
* elf/tst-array1.c (init): Set constructor priority to 1000.
diff --git a/sysdeps/ieee754/ldbl-128/s_log1pl.c b/sysdeps/ieee754/ldbl-128/s_log1pl.c
index 4ecea0f..fad18e9 100644
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
@@ -138,6 +138,12 @@ __log1pl (long double xm1)
&& (u.parts32.w1 | u.parts32.w2 | u.parts32.w3) == 0)
return xm1;
+ if ((hx & 0x7fffffff) < 0x3f8e0000)
+ {
+ if ((int) xm1 == 0)
+ return xm1;
+ }
+
x = xm1 + 1.0L;
/* log1p(-1) = -inf */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
sysdeps/ieee754/ldbl-128/s_log1pl.c | 6 ++++++
2 files changed, 11 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources