about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-05-08 11:58:18 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-05-08 11:58:18 +0000
commitd8cd06db62d92f86cc8cc3c0d6a489bd207bb834 (patch)
tree3906235135ce8e0b4ea11d5dadc076699be07738 /ChangeLog
parentbb7cf681e90d5aa2d867aeff4948ac605447de7d (diff)
downloadglibc-d8cd06db62d92f86cc8cc3c0d6a489bd207bb834.tar.gz
glibc-d8cd06db62d92f86cc8cc3c0d6a489bd207bb834.tar.xz
glibc-d8cd06db62d92f86cc8cc3c0d6a489bd207bb834.zip
Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426).
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog56
1 files changed, 56 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c6812711c0..1948ed630e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+2013-05-08  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #2546]
+	[BZ #2560]
+	[BZ #5159]
+	[BZ #15426]
+	* sysdeps/ieee754/k_standard.c (__kernel_standard): Copy sign of
+	input to result for tgamma overflow.
+	* sysdeps/ieee754/dbl-64/e_gamma_r.c: Include <float.h>.
+	(gamma_coeff): New variable.
+	(NCOEFF): New macro.
+	(gamma_positive): New function.
+	(__ieee754_gamma_r): Handle positive infinity, NaN, overflow and
+	underflow here.  Use gamma_positive instead of exp (lgamma) for
+	other arguments.
+	* sysdeps/ieee754/flt-32/e_gammaf_r.c: Include <float.h>.
+	(gamma_coeff): New variable.
+	(NCOEFF): New macro.
+	(gammaf_positive): New function.
+	(__ieee754_gammaf_r): Handle positive infinity, NaN, overflow and
+	underflow here.  Use gamma_positive instead of exp (lgamma) for
+	other arguments.
+	* sysdeps/ieee754/ldbl-128/e_gammal_r.c: Include <float.h>.
+	(gamma_coeff): New variable.
+	(NCOEFF): New macro.
+	(gammal_positive): New function.
+	(__ieee754_gammal_r): Handle positive infinity, NaN, overflow and
+	underflow here.  Use gamma_positive instead of exp (lgamma) for
+	other arguments.
+	* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Include <float.h>.
+	(gamma_coeff): New variable.
+	(NCOEFF): New macro.
+	(gammal_positive): New function.
+	(__ieee754_gammal_r): Handle positive infinity, overflow and
+	underflow here.  Handle NaN the same as positive infinity.  Remove
+	check x < 0xffffffff for negative integers.  Use gamma_positive
+	instead of exp (lgamma) for other arguments.
+	* sysdeps/ieee754/ldbl-96/e_gammal_r.c: Include <float.h>.
+	(gamma_coeff): New variable.
+	(NCOEFF): New macro.
+	(gammal_positive): New function.
+	* sysdeps/ieee754/dbl-64/gamma_product.c: New file.
+	* sysdeps/ieee754/dbl-64/gamma_productf.c: Likewise.
+	* sysdeps/ieee754/ldbl-128/gamma_productl.c: Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/gamma_productl.c: Likewise.
+	* sysdeps/ieee754/ldbl-96/gamma_product.c: Likewise.
+	* sysdeps/ieee754/ldbl-96/gamma_productl.c: Likewise.
+	* sysdeps/generic/math_private.h (__gamma_productf): New
+	prototype.
+	(__gamma_product): Likewise.
+	(__gamma_productl): Likewise.
+	* math/Makefile (libm-calls): Add gamma_product.
+	* math/libm-test.inc (tgamma_test): Add more tests.
+	* sysdeps/i386/fpu/libm-test-ulps: Update.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
 2013-05-08  Ondřej Bílka  <neleai@seznam.cz>
 
 	* benchtests/bench-skeleton.c (main): Preheat CPU.