diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_asinl.S | 22 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-96/e_asinl.c | 2 |
3 files changed, 4 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog index 775e23fe44..7628b4f8ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2001-04-05 Ulrich Drepper <drepper@redhat.com> + * sysdeps/ieee754/ldbl-96/e_asinl.c: Correct handling of +-Inf. + * sysdeps/i386/fpu/e_asinl.S: Removed. Too inaccurate. + * login/tst-utmp.c: Make file usable again in tst-utmpx.c. 2001-04-04 Ulrich Drepper <drepper@redhat.com> diff --git a/sysdeps/i386/fpu/e_asinl.S b/sysdeps/i386/fpu/e_asinl.S deleted file mode 100644 index 3919fbcf58..0000000000 --- a/sysdeps/i386/fpu/e_asinl.S +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - * - * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>. - */ - -#include <machine/asm.h> - -RCSID("$NetBSD: $") - -/* asinl = atanl (x / sqrtl(1 - x^2)) */ -ENTRY(__ieee754_asinl) - fldt 4(%esp) /* x */ - fld %st - fmul %st(0) /* x^2 */ - fld1 - fsubp /* 1 - x^2 */ - fsqrt /* sqrt (1 - x^2) */ - fpatan - ret -END (__ieee754_asinl) diff --git a/sysdeps/ieee754/ldbl-96/e_asinl.c b/sysdeps/ieee754/ldbl-96/e_asinl.c index f5d817b53a..202e245a41 100644 --- a/sysdeps/ieee754/ldbl-96/e_asinl.c +++ b/sysdeps/ieee754/ldbl-96/e_asinl.c @@ -92,7 +92,7 @@ __ieee754_asinl (x) ix = (ix << 16) | (i0 >> 16); if (ix >= 0x3fff8000) { /* |x|>= 1 */ - if (((i0 - 0x80000000) | i1) == 0) + if (ix < 0x7fff0000 && ((i0 - 0x80000000) | i1) == 0) /* asin(1)=+-pi/2 with inexact */ return x * pio2_hi + x * pio2_lo; return (x - x) / (x - x); /* asin(|x|>1) is NaN */ |