about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-02-26 21:06:34 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-02-26 21:06:34 +0000
commit1d9ab20c14211abbf45514e63c190dfeec27fa5e (patch)
treecbe705e320799863f477d32c3062f6260c0c72a2 /ChangeLog
parentec0ce0d3be4ae21add09139c705852ed8bb114c7 (diff)
downloadglibc-1d9ab20c14211abbf45514e63c190dfeec27fa5e.tar.gz
glibc-1d9ab20c14211abbf45514e63c190dfeec27fa5e.tar.xz
glibc-1d9ab20c14211abbf45514e63c190dfeec27fa5e.zip
Fix ldbl-128/ldbl-128ibm acosl inaccuracy (bug 18038, bug 18039).
The ldbl-128 and ldbl-128ibm implementations of acosl have similar
bugs, using a threshold of 0x1p-57L to determine when they just return
pi/2.  Since the result pi/2 - asinl (x) is roughly pi/2 - x for small
x, the relevant cut-off is actually x being < 0.5ulp of 1.  This patch
fixes the implementations to use that cut-off and adds tests of small
acos arguments.

Tested for powerpc and mips64.  Also tested for x86_64 and x86; no
ulps updates needed.

	[BZ #18038]
	[BZ #18039]
	* sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Only
	return pi/2 for arguments below 0x1p-113L.
	* sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Only
	return pi/2 for arguments below 0x1p-106L.
	* math/auto-libm-test-in: Add more tests of acos.
	* math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1cc3de62de..7f94e617cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2015-02-26  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #18038]
+	[BZ #18039]
+	* sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Only
+	return pi/2 for arguments below 0x1p-113L.
+	* sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Only
+	return pi/2 for arguments below 0x1p-106L.
+	* math/auto-libm-test-in: Add more tests of acos.
+	* math/auto-libm-test-out: Regenerated.
+
 	[BZ #16351]
 	* sysdeps/i386/fpu/e_asin.S (dbl_min): New object.
 	(MO): New macro.