Adhemerval Zanella
9d96909913
powerpc: Fix lgammal_r overflow warnings
...
ldbl-128ibm uses ldbl-128 e_lgammal_r implementation as is, however some
constants definitions overflows for IBM long double range. This patch
suppress the compiler warnings until the ldbl-128ibm implementation is
fixed.
2014-12-11 07:17:11 -05:00
Joseph Myers
eb3fc44b56
Fix ldbl-128 / ldbl-128ibm lgammal spurious underflow (bug 16400).
...
This patch fixes bug 16400, spurious underflow exceptions for ldbl-128
/ ldbl-128ibm lgammal with small positive arguments, by just using
-__logl (x) as the result in the problem cases (similar to the
previous fix for problems with small negative arguments).
Tested powerpc32, and also tested on mips64 that this does not require
ulps regeneration for the ldbl-128 case.
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
Return -__logl (x) for small positive arguments without evaluating
a polynomial.
2014-01-06 18:20:20 +00:00
Joseph Myers
4f40e4b307
Fix ldbl-128 lgammal for small negative arguments (bug 16337).
...
This patch fixes bug 16337, ldbl-128 lgammal spurious overflows for
small negative arguments (the arguments in question are already in the
testsuite). The implementation uses the reflection formula to compute
lgamma of negative x from lgamma of -x, effectively resulting in a
calculation -log(x^2) + log(-x); cancellation isn't problematic in
this case (bugs for problematic cancellation in lgamma are 2542, 2543,
2558), but the x^2 calculation can underflow (in which case there is
spurious logic to return an overflowing value - lgamma can only ever
correctly overflow for large positive arguments, though tgamma can
overflow for small arguments of either sign as well as large positive
arguments). The fix is simply to calculate the result directly with
logl when the argument is a small enough negative number.
Tested mips64.
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
Calculate results for small negative arguments directly rather
than using reflection formula with special underflow handling.
2013-12-22 20:50:16 +00:00
Richard Henderson
1ed0291c31
Use <> for math.h and math_private.h everywhere.
...
Entire tree edited via find | grep | sed.
2012-03-09 16:09:10 -08:00
Paul Eggert
59ba27a63a
Replace FSF snail mail address with URLs.
2012-02-09 23:18:22 +00:00
Ulrich Drepper
0ac5ae2335
Optimize libm
...
libm is now somewhat integrated with gcc's -ffinite-math-only option
and lots of the wrapper functions have been optimized.
2011-10-12 11:27:51 -04:00
Ulrich Drepper
facd1d8ef3
[BZ #4407 ]
...
2008-02-12 Pete Eberlein <eberlein@us.ibm.com>
[BZ #4407 ]
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
Preserve sign in signgamp when x is zero.
2008-04-10 04:58:03 +00:00
Roland McGrath
cc7375ce02
2002-08-26 Brian Youmans <3diff@gnu.org>
...
* crypt/crypt.c: Changed copying permission notice to Lesser GPL
from Library GPL.
* crypt/crypt_util.c: Likewise.
* crypt/ufc.c: Likewise.
* elf/dl-conflict.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* iconv/iconvconfig.h: Likewise.
* linuxthreads/Examples/ex10.c: Likewise.
* linuxthreads/Examples/ex11.c: Likewise.
* linuxthreads/Examples/ex13.c: Likewise.
* linuxthreads/Examples/ex8.c: Likewise.
* linuxthreads/Examples/ex9.c: Likewise.
* linuxthreads/barrier.c: Likewise.
* linuxthreads/events.c: Likewise.
* linuxthreads/lockfile.c: Likewise.
* linuxthreads/no-tsd.c: Likewise.
* linuxthreads/pt-machine.c: Likewise.
* linuxthreads/ptclock_gettime.c: Likewise.
* linuxthreads/ptclock_settime.c: Likewise.
* linuxthreads/rwlock.c: Likewise.
* linuxthreads/sysdeps/alpha/pspinlock.c: Likewise.
* linuxthreads/sysdeps/alpha/pt-machine.h: Likewise.
* linuxthreads/sysdeps/arm/pspinlock.c: Likewise.
* linuxthreads/sysdeps/arm/pt-machine.h: Likewise.
* linuxthreads/sysdeps/cris/pspinlock.c: Likewise.
* linuxthreads/sysdeps/cris/pt-machine.h: Likewise.
* linuxthreads/sysdeps/hppa/pspinlock.c: Likewise.
* linuxthreads/sysdeps/hppa/pt-machine.h: Likewise.
* linuxthreads/sysdeps/i386/i686/pt-machine.h: Likewise.
* linuxthreads/sysdeps/i386/pspinlock.c: Likewise.
* linuxthreads/sysdeps/i386/pt-machine.h: Likewise.
* linuxthreads/sysdeps/i386/useldt.h: Likewise.
* linuxthreads/sysdeps/ia64/pspinlock.c: Likewise.
* linuxthreads/sysdeps/ia64/pt-machine.h: Likewise.
* linuxthreads/sysdeps/m68k/pspinlock.c: Likewise.
* linuxthreads/sysdeps/m68k/pt-machine.h: Likewise.
* linuxthreads/sysdeps/mips/pspinlock.c: Likewise.
* linuxthreads/sysdeps/mips/pt-machine.h: Likewise.
* linuxthreads/sysdeps/powerpc/pspinlock.c: Likewise.
* linuxthreads/sysdeps/powerpc/pt-machine.h: Likewise.
* linuxthreads/sysdeps/pthread/bits/initspin.h: Likewise.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h: Likewise.
* linuxthreads/sysdeps/pthread/bits/libc-tsd.h: Likewise.
* linuxthreads/sysdeps/pthread/getcpuclockid.c: Likewise.
* linuxthreads/sysdeps/pthread/posix-timer.h: Likewise.
* linuxthreads/sysdeps/pthread/timer_create.c: Likewise.
* linuxthreads/sysdeps/pthread/timer_delete.c: Likewise.
* linuxthreads/sysdeps/pthread/timer_getoverr.c: Likewise.
* linuxthreads/sysdeps/pthread/timer_gettime.c: Likewise.
* linuxthreads/sysdeps/pthread/timer_routines.c: Likewise.
* linuxthreads/sysdeps/pthread/timer_settime.c: Likewise.
* linuxthreads/sysdeps/pthread/tst-timer.c: Likewise.
* linuxthreads/sysdeps/s390/pspinlock.c: Likewise.
* linuxthreads/sysdeps/s390/s390-32/pt-machine.h: Likewise.
* linuxthreads/sysdeps/s390/s390-64/pt-machine.h: Likewise.
* linuxthreads/sysdeps/sh/pspinlock.c: Likewise.
* linuxthreads/sysdeps/sh/pt-machine.h: Likewise.
* linuxthreads/sysdeps/sparc/sparc32/pspinlock.c: Likewise.
* linuxthreads/sysdeps/sparc/sparc32/pt-machine.h: Likewise.
* linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
* linuxthreads/sysdeps/sparc/sparc64/pspinlock.c: Likewise.
* linuxthreads/sysdeps/sparc/sparc64/pt-machine.h: Likewise.
* linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
* linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
* linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
* linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
* linuxthreads/tststack.c: Likewise.
* linuxthreads/unload.c: Likewise.
* linuxthreads/weaks.c: Likewise.
* linuxthreads/wrapsyscall.c: Likewise.
* malloc/arena.c: Likewise.
* malloc/hooks.c: Likewise.
* malloc/malloc.c: Likewise.
* posix/glob/Makefile.ami: Likewise.
* posix/glob/Makefile.in: Likewise.
* stdlib/gmp-impl.h: Likewise.
* stdlib/gmp.h: Likewise.
* sysdeps/generic/dl-iteratephdr-static.c: Likewise.
* sysdeps/generic/strnlen.c: Likewise.
* sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
* sysdeps/mach/hurd/recvmsg.c: Likewise.
* sysdeps/mach/hurd/sendmsg.c: Likewise.
* sysdeps/mach/hurd/spawni.c: Likewise.
* sysdeps/mach/powerpc/machine-sp.h: Likewise.
* sysdeps/mach/powerpc/sysdep.h: Likewise.
* sysdeps/mach/powerpc/thread_state.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise.
* sysdeps/x86_64/gmp-mparam.h: Likewise.
2002-08-26 22:40:48 +00:00
Ulrich Drepper
52e1b618f4
Update.
...
2002-07-03 Jakub Jelinek <jakub@redhat.com>
* stdio-common/printf_fp.c (__printf_fp.c): If _FPIO_CONST_SHIFT is
non-zero, adjust exponent.
* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfl, erfl, __erfcl, erfcl):
Remove NO_LONG_DOUBLE aliases.
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l, expm1l): Likewise.
* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl, log1pl): Likewise.
(__log1pl): Raise divide by zero and invalid exceptions when needed.
* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Special case
1**y and -1**+-Inf.
* sysdeps/ieee754/ldbl-128/ldbl2mpn.c (__mpn_extract_long_double):
Fix BITS_PER_MP_LIMB 32 extraction.
* sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Don't raise
exceptions for qNaNs.
* sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise.
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgamma_r):
Raise exceptions when needed. Don't recurse unnecessarily.
Special case 1.0L and 2.0L arguments to avoid -0.0L as result.
* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Don't raise
exceptions for qNaNs.
* sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Make qs 64-bit
to fix *quo return value sign.
* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gamma_r): Special
case -Inf argument.
* soft-fp/op-4.h (_FP_FRAC_CLZ_4): Fix a pasto.
2002-07-01 Jakub Jelinek <jakub@redhat.com>
* libio/tst-eof.c (do_test): Remove unused ch and tm variables.
* iconvdata/iso-2022-jp-3.c (EMIT_SHIFT_TO_INIT): Kill warnings if
-DNDEBUG.
2002-07-11 05:55:13 +00:00
Andreas Jaeger
60a06b7ce1
Update.
...
2001-11-26 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in
initialization.
* sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove
unused variables. Fix threshold for returning 1.0.
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify
argument.
* sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and
remove unused variables.
* sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise.
* sysdeps/ieee754/ldbl-128/e_j1l.c (neval, deval): Likewise, and
include local math header files.
2001-11-26 08:05:53 +00:00
Ulrich Drepper
1f5649f86b
Update.
...
2001-10-14 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (handle_ellipsis): Use %lX not %lx
to generate hexadecimal identifier.
Patch by Jungshik Shin <jungshik.shin@yale.edu>.
2001-10-09 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-96/s_cbrtl.c (__cbrtl): Fix algorithm.
2001-10-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/ieee754/ldbl-128/e_powl.c: New file.
* sysdeps/ieee754/ldbl-128/s_cbrtl.c: New file.
Contributed by Stephen L Moshier <moshier@mediaone.net>.
* sysdeps/ieee754/ldbl-128/e_j0l.c: Constify float variables.
* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise
* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise
* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise
* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise
* timezone/africa: Update from tzdata2001d.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/leapseconds: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
2001-10-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/sys/ucontext.h: Correct __psw_t typedef.
* sysdeps/s390/s390-64/sys/ucontext.h: Likewise.
2001-10-14 22:33:08 +00:00
Andreas Jaeger
a3c937ce59
128 bit long double lgamma implementation.
2001-09-06 12:53:04 +00:00