glibc/sysdeps
Joseph Myers 2ca725c594 Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047).
The threshold in ldbl-96 atanhl for when to return the argument,
0x1p-28, is a bit too big, and that in ldbl-128ibm atanhl is much too
big (the relevant condition being x^3/3 being < 0.5ulp of x),
resulting in errors a bit above the limits of those considered
acceptable in glibc in the ldbl-96 case, and in large errors in the
ldbl-128ibm case.  This patch changes those implementations to use
more appropriate thresholds and adds tests around the thresholds for
various formats.

Tested for x86_64, x86 and powerpc.  x86_64 and x86 ulps updated
accordingly.

	[BZ #18046]
	[BZ #18047]
	* sysdeps/ieee754/ldbl-128ibm/e_atanhl.c (__ieee754_atanhl): Use
	0x1p-56L as threshold for just returning the argument.
	* sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Use
	0x1p-32L as threshold for just returning the argument.
	* math/auto-libm-test-in: Add more tests of atanh.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulp: Likewise.
2015-02-27 17:48:37 +00:00
..
aarch64 Clean up sysdep-dl-routines variable. 2015-02-06 10:42:08 -08:00
alpha Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
arm Use -Werror=undef for assembly code. 2015-02-12 13:57:32 -08:00
generic Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
gnu hurd: fix unwind-resume.c build 2015-02-08 18:46:00 +01:00
hppa Clean up sysdep-dl-routines variable. 2015-02-06 10:42:08 -08:00
i386 Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047). 2015-02-27 17:48:37 +00:00
ia64 Clean up sysdep-dl-routines variable. 2015-02-06 10:42:08 -08:00
ieee754 Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047). 2015-02-27 17:48:37 +00:00
init_array NPTL: Initializer for .init_array-only configurations. 2015-02-13 13:19:11 -08:00
m68k m68k: fix missing definition of __feraiseexcept 2015-01-25 23:36:02 +01:00
mach linux: open and openat ignore 'mode' with O_TMPFILE in flags 2015-02-24 13:19:22 +05:30
microblaze MicroBlaze: Avoid pointer to integer conversion warning 2015-01-09 14:49:27 +10:00
mips 2015-02-18 Steve Ellcey <sellcey@imgtec.com> 2015-02-18 10:51:37 -08:00
nios2 glibc 2.21 pre-release update. 2015-02-05 23:14:38 -05:00
nptl Include <signal.h> in sysdeps/nptl/allocrtsig.c 2015-01-29 10:00:25 +01:00
posix linux: open and openat ignore 'mode' with O_TMPFILE in flags 2015-02-24 13:19:22 +05:30
powerpc powerpc: Fix memmove static build 2015-02-25 13:25:54 -05:00
pthread hurd: fix build with pthread aio 2015-02-07 21:48:32 +01:00
s390 s390: Use generic lowlevellock-futex.h 2015-02-20 10:48:06 +01:00
sh Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
sparc Fix two bugs in sparc atomics. 2015-01-31 23:39:50 -08:00
tile tilegx32: set __HAVE_64B_ATOMICS to 0 2015-01-28 14:51:21 -05:00
unix hppa: fix __O_SYNC to match the kernel 2015-02-27 01:46:01 -05:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86 Fix atan / atan2 missing underflows (bug 15319). 2015-02-18 21:10:49 +00:00
x86_64 Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047). 2015-02-27 17:48:37 +00:00