aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/libm-ieee754
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-05-07 15:31:21 +0000
committerUlrich Drepper <drepper@redhat.com>1997-05-07 15:31:21 +0000
commit51702635af8445431054291c86aaace7c30b0970 (patch)
treee9cc4d28c401bd6046f71f62d186865d37c0141f /sysdeps/libm-ieee754
parent1f07e6177553845817af5f7c90f148edd2e59d32 (diff)
downloadglibc-51702635af8445431054291c86aaace7c30b0970.tar
glibc-51702635af8445431054291c86aaace7c30b0970.tar.gz
glibc-51702635af8445431054291c86aaace7c30b0970.tar.bz2
glibc-51702635af8445431054291c86aaace7c30b0970.zip
* locale/categories.def: Change type of _NL_CTYPE_CLASS_NAMES and _NL_CTYPE_MAP_NAMES field to stringlist. Change name of _NL_CTYPE_CODESET_NAME to "charmap". * locale/localeinfo.h (enum value_type): Add stringlist. * locale/programs/locale.c (show_info): Handle stringlist. * locale/programs/charmap.c (charmap_read): If charmap file is not using the given name try to find it by looking through all available charmap files and compare the code set name. * locale/programs/locale.c (write_charmaps): Also print names of charset in <code_set_name> fields in the files. * elf/ldd.bash.in: Correct translatable strings. * posix/TESTS: Add some more tests for character class matching. * posix/regex.c: Merge with GNU awk version. (regex_compile): Use ISO C/amend 1 functions for character class handling. * posix/regex.h: Merge with GNU awk version. * posix/getopt.c: Declare as master copies. * posix/getopt1.c: Likewise. * posix/getopt.h: Likewise. * sysdeps/unix/sysv/linux/sys/mount.h: Add definitions for option value to mount functions. Patch by a sun <asun@zoology.washington.edu>. * stdio-common/bug4.c (main): Use /tmp/bug4.test for concurrency with other tests. * sunrpc/svc_run.c (svc_exit): New, defined. (svc_run): Test for svc_stop variable. * sysdeps/m68k/s_cexp.c: Rewritten. * sysdeps/m68k/s_cexpf.c: Likewise. * sysdeps/m68k/s_cexpl.c: Likewise.
Diffstat (limited to 'sysdeps/libm-ieee754')
-rw-r--r--sysdeps/libm-ieee754/e_acoshl.c2
-rw-r--r--sysdeps/libm-ieee754/e_atan2l.c6
-rw-r--r--sysdeps/libm-ieee754/e_atanhl.c2
-rw-r--r--sysdeps/libm-ieee754/e_sinhl.c2
4 files changed, 6 insertions, 6 deletions
diff --git a/sysdeps/libm-ieee754/e_acoshl.c b/sysdeps/libm-ieee754/e_acoshl.c
index 7b7bea7054..a60704aa29 100644
--- a/sysdeps/libm-ieee754/e_acoshl.c
+++ b/sysdeps/libm-ieee754/e_acoshl.c
@@ -53,7 +53,7 @@ ln2 = 6.931471805599453094287e-01L; /* 0x3FFE, 0xB17217F7, 0xD1CF79AC */
long double t;
u_int32_t se,i0,i1;
GET_LDOUBLE_WORDS(se,i0,i1,x);
- if(se<0x3fff) { /* x < 1 */
+ if(se<0x3fff || se & 0x8000) { /* x < 1 */
return (x-x)/(x-x);
} else if(se >=0x401b) { /* x > 2**28 */
if(se >=0x7fff) { /* x is inf of NaN */
diff --git a/sysdeps/libm-ieee754/e_atan2l.c b/sysdeps/libm-ieee754/e_atan2l.c
index e60f2d41c1..72d3eac172 100644
--- a/sysdeps/libm-ieee754/e_atan2l.c
+++ b/sysdeps/libm-ieee754/e_atan2l.c
@@ -73,10 +73,10 @@ pi_lo = -5.01655761266833202345176e-20L;/* 0xBFBE, 0xECE675D1, 0xFC8F8CBB */
EXTRACT_LDOUBLE_WORDS(sx,hx,lx,x);
ix = sx&0x7fff;
- lx |= hx ^ 0x80000000;
+ lx |= hx & 0x7fffffff;
EXTRACT_LDOUBLE_WORDS(sy,hy,ly,y);
iy = sy&0x7fff;
- ly |= hy ^ 0x80000000;
+ ly |= hy & 0x7fffffff;
if(((2*ix|((lx|-lx)>>31))>0xfffe)||
((2*iy|((ly|-ly)>>31))>0xfffe)) /* x or y is NaN */
return x+y;
@@ -114,7 +114,7 @@ pi_lo = -5.01655761266833202345176e-20L;/* 0xBFBE, 0xECE675D1, 0xFC8F8CBB */
}
}
/* when y is INF */
- if(iy==0x7fff) return (hy>=0x8000)? -pi_o_2-tiny: pi_o_2+tiny;
+ if(iy==0x7fff) return (sy>=0x8000)? -pi_o_2-tiny: pi_o_2+tiny;
/* compute y/x */
k = sy-sx;
diff --git a/sysdeps/libm-ieee754/e_atanhl.c b/sysdeps/libm-ieee754/e_atanhl.c
index 0e6dadd602..fdcd1e9fe8 100644
--- a/sysdeps/libm-ieee754/e_atanhl.c
+++ b/sysdeps/libm-ieee754/e_atanhl.c
@@ -75,5 +75,5 @@ static double long zero = 0.0;
t = 0.5*__log1pl(t+t*x/(one-x));
} else
t = 0.5*__log1pl((x+x)/(one-x));
- if(se>0x7fff) return t; else return -t;
+ if(se<=0x7fff) return t; else return -t;
}
diff --git a/sysdeps/libm-ieee754/e_sinhl.c b/sysdeps/libm-ieee754/e_sinhl.c
index f9ccc6fa90..4f9cfe2c38 100644
--- a/sysdeps/libm-ieee754/e_sinhl.c
+++ b/sysdeps/libm-ieee754/e_sinhl.c
@@ -63,7 +63,7 @@ static long double one = 1.0, shuge = 1.0e4931L;
if(ix==0x7fff) return x+x;
h = 0.5;
- if (jx<0) h = -h;
+ if (jx & 0x8000) h = -h;
/* |x| in [0,25], return sign(x)*0.5*(E+E/(E+1))) */
if (ix < 0x4003 || (ix == 0x4003 && i0 <= 0xc8000000)) { /* |x|<25 */
if (ix<0x3fe3) /* |x|<2**-28 */