diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-04-05 17:20:49 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-04-05 17:20:49 +0000 |
commit | 626fb8866b961836edb83dc2d25b80e9c5bab71d (patch) | |
tree | 83ecf31b8b6a43b106c2740ab418bb894d364a57 | |
parent | f128331c351b7a369aa39ac61241f1aae6f71841 (diff) | |
download | glibc-626fb8866b961836edb83dc2d25b80e9c5bab71d.tar glibc-626fb8866b961836edb83dc2d25b80e9c5bab71d.tar.gz glibc-626fb8866b961836edb83dc2d25b80e9c5bab71d.tar.bz2 glibc-626fb8866b961836edb83dc2d25b80e9c5bab71d.zip |
Update.
* sysdeps/ieee754/ldbl-96/e_asinl.c: Correct handling of +-Inf.
* sysdeps/i386/fpu/e_asinl.S: Removed. Too inaccurate.
-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
@@ -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 */ |