From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25859 invoked by alias); 22 Dec 2013 20:51:00 -0000 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org Received: (qmail 25813 invoked by uid 55); 22 Dec 2013 20:50:56 -0000 From: "cvs-commit at gcc dot gnu.org" To: glibc-bugs@sourceware.org Subject: [Bug math/16337] ldbl-128 lgammal overflows for small negative arguments Date: Sun, 22 Dec 2013 20:51:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: math X-Bugzilla-Version: 2.19 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-12/txt/msg00196.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=16337 --- Comment #1 from cvs-commit at gcc dot gnu.org --- 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 4f40e4b30754c678b7f93cfb9a545deb534f7e4e (commit) from ef7344f09c5ce00eb519ed14598b2a8e39c68387 (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 ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4f40e4b30754c678b7f93cfb9a545deb534f7e4e commit 4f40e4b30754c678b7f93cfb9a545deb534f7e4e Author: Joseph Myers Date: Sun Dec 22 20:50:16 2013 +0000 Fix ldbl-128 lgammal for small negative arguments (bug 16337). This patch fixes bug 16337, ldbl-128 lgammal spurious overflows for small negative arguments (the arguments in question are already in the testsuite). The implementation uses the reflection formula to compute lgamma of negative x from lgamma of -x, effectively resulting in a calculation -log(x^2) + log(-x); cancellation isn't problematic in this case (bugs for problematic cancellation in lgamma are 2542, 2543, 2558), but the x^2 calculation can underflow (in which case there is spurious logic to return an overflowing value - lgamma can only ever correctly overflow for large positive arguments, though tgamma can overflow for small arguments of either sign as well as large positive arguments). The fix is simply to calculate the result directly with logl when the argument is a small enough negative number. Tested mips64. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): Calculate results for small negative arguments directly rather than using reflection formula with special underflow handling. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ NEWS | 2 +- sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) -- You are receiving this mail because: You are on the CC list for the bug.