aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-05-15 17:21:08 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-05-15 17:21:08 +0000
commitff069f024ae8cf15d53429e034d67ddcece0f67a (patch)
treed6ad47bf62f47e532cadb862d427eaa2f610c12c /ChangeLog
parentb2fb25240813266e4f62f2dd039573f1a042ea2f (diff)
downloadglibc-ff069f024ae8cf15d53429e034d67ddcece0f67a.zip
glibc-ff069f024ae8cf15d53429e034d67ddcece0f67a.tar.gz
glibc-ff069f024ae8cf15d53429e034d67ddcece0f67a.tar.bz2
Fix lgammaf spurious underflows (bug 18220).
The flt-32 implementation of lgammaf produces spurious underflow exceptions for some large arguments, because of calculations involving x^-2 multiplied by small constants. This patch fixes this by adjusting the threshold for a simpler computation to 2**26 (the error in the simpler computation is on the order of 0.5 * log (x), for a result on the order of x * log (x)). Tested for x86_64 and x86. [BZ #18220] * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Use 2**26 not 2**58 as threshold for returning x * (log (x) - 1). * math/auto-libm-test-in: Add another test of lgamma. * math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7749398..2b29214 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-05-15 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #18220]
+ * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Use
+ 2**26 not 2**58 as threshold for returning x * (log (x) - 1).
+ * math/auto-libm-test-in: Add another test of lgamma.
+ * math/auto-libm-test-out: Regenerated.
+
2015-05-15 Wilco Dijkstra <wdijkstr@arm.com>
* stdio-common/printf_fp.c (___printf_fp): Use abs.