mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 06:20:06 +00:00
Fix ldbl-128ibm acoshl inaccuracy (bug 16384).
This patch fixes bug 16384, ldbl-128ibm acoshl inaccuracy, which showed up while attempting to regenerate ulps for powerpc-nofpu for 2.19. There were two separate problems, use of __log1p instead of __log1pl and an insufficiently accurate constant value for log 2 (which this patch replaces by use of M_LN2l), each of which could cause substantial inaccuracy in affected cases. Tested for powerpc-nofpu. * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (ln2): Initialize with M_LN2l. (__ieee754_acoshl): Use __log1pl not __log1p.
This commit is contained in:
parent
6c8dbf00f5
commit
396e3ecf3e
@ -1,3 +1,10 @@
|
||||
2014-01-02 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #16384]
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (ln2): Initialize with
|
||||
M_LN2l.
|
||||
(__ieee754_acoshl): Use __log1pl not __log1p.
|
||||
|
||||
2013-01-02 Ondřej Bílka <neleai@seznam.cz>
|
||||
|
||||
* malloc/arena.c (malloc_atfork, free_atfork, ptmalloc_lock_all,
|
||||
|
2
NEWS
2
NEWS
@ -23,7 +23,7 @@ Version 2.19
|
||||
16038, 16041, 16055, 16071, 16072, 16074, 16077, 16078, 16103, 16112,
|
||||
16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195, 16214,
|
||||
16245, 16271, 16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337,
|
||||
16338, 16356, 16365, 16366, 16369, 16372, 16375, 16379.
|
||||
16338, 16356, 16365, 16366, 16369, 16372, 16375, 16379, 16384.
|
||||
|
||||
* Slovenian translations for glibc messages have been contributed by the
|
||||
Translation Project's Slovenian team of translators.
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
static const long double
|
||||
one = 1.0L,
|
||||
ln2 = 6.93147180559945286227e-01L; /* 0x3FE62E42, 0xFEFA39EF */
|
||||
ln2 = M_LN2l;
|
||||
|
||||
long double
|
||||
__ieee754_acoshl(long double x)
|
||||
@ -56,7 +56,7 @@ __ieee754_acoshl(long double x)
|
||||
return __ieee754_logl(2.0*x-one/(x+__ieee754_sqrtl(t-one)));
|
||||
} else { /* 1<x<2 */
|
||||
t = x-one;
|
||||
return __log1p(t+__ieee754_sqrtl(2.0*t+t*t));
|
||||
return __log1pl(t+__ieee754_sqrtl(2.0*t+t*t));
|
||||
}
|
||||
}
|
||||
strong_alias (__ieee754_acoshl, __acoshl_finite)
|
||||
|
Loading…
Reference in New Issue
Block a user