This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]