diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-07-22 00:10:33 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-07-22 00:10:33 +0000 |
commit | 60c966358ed6fa6ce3ded5426f46232cbfd8e0fd (patch) | |
tree | 2edfd4ad681692a2dbfdfcabaead5bca25ed2be5 /sysdeps/libm-ieee754 | |
parent | 907a1bacf996264c3197342cfc565b1d4f840bfb (diff) | |
download | glibc-60c966358ed6fa6ce3ded5426f46232cbfd8e0fd.zip glibc-60c966358ed6fa6ce3ded5426f46232cbfd8e0fd.tar.gz glibc-60c966358ed6fa6ce3ded5426f46232cbfd8e0fd.tar.bz2 |
Update.cvs/libc-ud-970721
1997-07-22 01:35 Ulrich Drepper <drepper@cygnus.com>
* Makerules (+make-deps): Use $(CFLAGS) in run of $(+mkdep) so
that optimizing is also selected for dependency generation.
* configure.in: Add machine description for TI c[34]x.
* inet/Makefile (routines): Remove ntohl and ntohs.
* inet/netinet/in.h: Use optimized version of hton? and ntoh?
for little endian machines.
* sysdeps/alpha/ntohl.s: Removed.
* sysdeps/alpha/ntohs.s: Removed.
* sysdeps/generic/ntohl.c: Removed.
* sysdeps/generic/ntohs.c: Removed.
* sysdeps/generic/htonl.c: Add aliases for ntohl.
* sysdeps/vax/htonl.s: Likewise.
* sysdeps/generic/htons.c: Add aliases for ntohs.
* sysdeps/vax/htons.s: Likewise.
* sysdeps/vax/ntohl.s: Removed.
* sysdeps/vax/ntohs.s: Removed.
* sysdeps/generic/bits/htontoh.h: New file.
* sysdeps/i386/htonl.S: New file.
* sysdeps/i386/htons.S: New file.
* sysdeps/i386/i486/htonl.S: New file.
* sysdeps/i386/fpu/bits/mathinline.h: Correct and optimized compare
macros.
* sysdeps/mips/dl-machine.h: Remove mips64 dependent parts.
* sysdeps/mips/mips64/dl-machine.h: New file.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't install
syscall-list.h.
1997-07-12 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add missing symbol _obstack.
1997-07-14 08:22 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/mips/rtld-parms: New.
* sysdeps/unix/sysv/linux/mips/lxstat.h: Moved to
* sysdeps/unix/sysv/linux/mips/lxstat.c: ...this.
* sysdeps/unix/sysv/linux/mips/sgidef.h: Moved to
* sysdeps/unix/sysv/linux/mips/sgidefs.h: ...this.
* sysdeps/generic/dl-sysdep.c (_start): Change to ENTRY_POINT.
1997-07-17 08:39 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/mips/dl-machine.h: Remove extra stuff.
1997-07-06 07:18 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/bits/endian.h: Handle multiple endianess.
* stdlib/grouping.h: Suppress gcc warning about testing
unsigned char for less-than-zero.
* stdio-common/printf_fp.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* sysdeps/powerpc/add_n.s: New file.
* sysdeps/powerpc/sub_n.s: New file.
* sysdeps/powerpc/lshift.s: Ported XCOFF->ELF (from GMP).
* sysdeps/powerpc/mul_1.s: Ported XCOFF->ELF (from GMP).
* sysdeps/powerpc/addmul_1.s: Ported XCOFF->ELF (from GMP).
* sysdeps/powerpc/submul_1.s: Ported XCOFF->ELF (from GMP).
* sysdeps/powerpc/rshift.s: Ported XCOFF->ELF (from GMP).
* math/libm-test.c (cos_test, sin_test, sincos_test): Use
precomputed pi/6 rather than having gcc calculate it, otherwise
tests give inaccurate result due to inaccurate input.
* math/libm.map: Add __fe_*_env constants to list of exported
symbols.
* sysdeps/libm-ieee754/s_isinf.c: Simplify, make faster.
* sysdeps/libm-ieee754/s_isinff.c: Simplify, make faster.
* sysdeps/libm-ieee754/s_atan2f.c: Correct value of pi to be correct
round-to-nearest value.
* sysdeps/libm-ieee754/e_log.c: Make sure exceptions are raised.
* sysdeps/libm-ieee754/e_log10.c: Likewise.
* sysdeps/libm-ieee754/e_log10f.c: Likewise.
* sysdeps/libm-ieee754/e_logf.c: Likewise.
* sysdeps/libm-ieee754/s_log1p.c: Likewise. Also use correct -Inf.
* sysdeps/libm-ieee754/s_log1pf.c: Likewise. Also use correct -Inf.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_log2f.c: Likewise.
1997-07-15 21:54 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_compat/compat-grp.c: Fix "buffer to small" problems
and memory leaks.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/nss_nisplus-alias.c: Likewise.
* nis/nss_nisplus-ethers.c: Likewise.
* nis/nss_nisplus-grp.c: Likewise.
* nis/nss_nisplus-hosts.c: Likewise.
* nis/nss_nisplus-netgrp.c: Likewise.
* nis/nss_nisplus-network.c: Likewise.
* nis/nss_nisplus-proto.c: Likewise.
* nis/nss_nisplus-pwd.c: Likewise.
* nis/nss_nisplus-rpc.c: Likewise.
* nis/nss_nisplus-service.c: Likewise.
* nis/nss_nisplus-spwd.c: Likewise.
* nis/nss_nisplus-parse.c: If buffer to small, give -1 back.
1997-07-20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Mention program
name in warning message.
* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Print program name
first.
1997-07-20 19:33 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* libc.map: Add _null_auth and _seterr_reply.
* sunrpc/clnt_udp.c (clntudp_call): If xargs is NULL, don't encode it.
Diffstat (limited to 'sysdeps/libm-ieee754')
-rw-r--r-- | sysdeps/libm-ieee754/e_atan2f.c | 20 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/e_log.c | 4 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/e_log10.c | 16 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/e_log10f.c | 8 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/e_logf.c | 16 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_isinf.c | 5 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_isinff.c | 2 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_log1p.c | 2 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_log1pf.c | 14 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_log2.c | 4 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_log2f.c | 4 |
11 files changed, 47 insertions, 48 deletions
diff --git a/sysdeps/libm-ieee754/e_atan2f.c b/sysdeps/libm-ieee754/e_atan2f.c index 437975f..8b3398c 100644 --- a/sysdeps/libm-ieee754/e_atan2f.c +++ b/sysdeps/libm-ieee754/e_atan2f.c @@ -8,7 +8,7 @@ * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice + * software is freely granted, provided that this notice * is preserved. * ==================================================== */ @@ -21,16 +21,16 @@ static char rcsid[] = "$NetBSD: e_atan2f.c,v 1.4 1995/05/10 20:44:53 jtc Exp $"; #include "math_private.h" #ifdef __STDC__ -static const float +static const float #else -static float +static float #endif tiny = 1.0e-30, zero = 0.0, -pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */ -pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */ -pi = 3.1415925026e+00, /* 0x40490fda */ -pi_lo = 1.5099578832e-07; /* 0x34222168 */ +pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */ +pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */ +pi = 3.1415927410e+00, /* 0x40490fdb */ +pi_lo = -8.7422776573e-07; /* 0xb3bbbd2e */ #ifdef __STDC__ float __ieee754_atan2f(float y, float x) @@ -38,7 +38,7 @@ pi_lo = 1.5099578832e-07; /* 0x34222168 */ float __ieee754_atan2f(y,x) float y,x; #endif -{ +{ float z; int32_t k,m,hx,hy,ix,iy; @@ -55,7 +55,7 @@ pi_lo = 1.5099578832e-07; /* 0x34222168 */ /* when y = 0 */ if(iy==0) { switch(m) { - case 0: + case 0: case 1: return y; /* atan(+-0,+anything)=+-0 */ case 2: return pi+tiny;/* atan(+0,-anything) = pi */ case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */ @@ -63,7 +63,7 @@ pi_lo = 1.5099578832e-07; /* 0x34222168 */ } /* when x = 0 */ if(ix==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny; - + /* when x is INF */ if(ix==0x7f800000) { if(iy==0x7f800000) { diff --git a/sysdeps/libm-ieee754/e_log.c b/sysdeps/libm-ieee754/e_log.c index f584694..e4e6eab 100644 --- a/sysdeps/libm-ieee754/e_log.c +++ b/sysdeps/libm-ieee754/e_log.c @@ -106,8 +106,8 @@ static double zero = 0.0; k=0; if (hx < 0x00100000) { /* x < 2**-1022 */ if (((hx&0x7fffffff)|lx)==0) - return -two54/zero; /* log(+-0)=-inf */ - if (hx<0) return (x-x)/zero; /* log(-#) = NaN */ + return -two54/(x-x); /* log(+-0)=-inf */ + if (hx<0) return (x-x)/(x-x); /* log(-#) = NaN */ k -= 54; x *= two54; /* subnormal number, scale up x */ GET_HIGH_WORD(hx,x); } diff --git a/sysdeps/libm-ieee754/e_log10.c b/sysdeps/libm-ieee754/e_log10.c index 5d004ac..e8a3278 100644 --- a/sysdeps/libm-ieee754/e_log10.c +++ b/sysdeps/libm-ieee754/e_log10.c @@ -5,7 +5,7 @@ * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice + * software is freely granted, provided that this notice * is preserved. * ==================================================== */ @@ -16,26 +16,26 @@ static char rcsid[] = "$NetBSD: e_log10.c,v 1.9 1995/05/10 20:45:51 jtc Exp $"; /* __ieee754_log10(x) * Return the base 10 logarithm of x - * + * * Method : * Let log10_2hi = leading 40 bits of log10(2) and * log10_2lo = log10(2) - log10_2hi, * ivln10 = 1/log(10) rounded. * Then - * n = ilogb(x), + * n = ilogb(x), * if(n<0) n = n+1; * x = scalbn(x,-n); * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) * * Note 1: - * To guarantee log10(10**n)=n, where 10**n is normal, the rounding + * To guarantee log10(10**n)=n, where 10**n is normal, the rounding * mode must set to Round-to-Nearest. * Note 2: * [1/log(10)] rounded to 53 bits has error .198 ulps; * log10 is monotonic at all binary break points. * * Special cases: - * log10(x) is NaN with signal if x < 0; + * log10(x) is NaN with signal if x < 0; * log10(+INF) is +INF with no signal; log10(0) is -INF with signal; * log10(NaN) is that NaN with no signal; * log10(10**N) = N for N=0,1,...,22. @@ -80,10 +80,10 @@ static double zero = 0.0; EXTRACT_WORDS(hx,lx,x); k=0; - if (hx < 0x00100000) { /* x < 2**-1022 */ + if (hx < 0x00100000) { /* x < 2**-1022 */ if (((hx&0x7fffffff)|lx)==0) - return -two54/zero; /* log(+-0)=-inf */ - if (hx<0) return (x-x)/zero; /* log(-#) = NaN */ + return -two54/(x-x); /* log(+-0)=-inf */ + if (hx<0) return (x-x)/(x-x); /* log(-#) = NaN */ k -= 54; x *= two54; /* subnormal number, scale up x */ GET_HIGH_WORD(hx,x); } diff --git a/sysdeps/libm-ieee754/e_log10f.c b/sysdeps/libm-ieee754/e_log10f.c index 2082a76..cea3d91 100644 --- a/sysdeps/libm-ieee754/e_log10f.c +++ b/sysdeps/libm-ieee754/e_log10f.c @@ -8,7 +8,7 @@ * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice + * software is freely granted, provided that this notice * is preserved. * ==================================================== */ @@ -49,10 +49,10 @@ static float zero = 0.0; GET_FLOAT_WORD(hx,x); k=0; - if (hx < 0x00800000) { /* x < 2**-126 */ + if (hx < 0x00800000) { /* x < 2**-126 */ if ((hx&0x7fffffff)==0) - return -two25/zero; /* log(+-0)=-inf */ - if (hx<0) return (x-x)/zero; /* log(-#) = NaN */ + return -two25/(x-x); /* log(+-0)=-inf */ + if (hx<0) return (x-x)/(x-x); /* log(-#) = NaN */ k -= 25; x *= two25; /* subnormal number, scale up x */ GET_FLOAT_WORD(hx,x); } diff --git a/sysdeps/libm-ieee754/e_logf.c b/sysdeps/libm-ieee754/e_logf.c index 1481fd0..0f1af93 100644 --- a/sysdeps/libm-ieee754/e_logf.c +++ b/sysdeps/libm-ieee754/e_logf.c @@ -8,7 +8,7 @@ * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice + * software is freely granted, provided that this notice * is preserved. * ==================================================== */ @@ -56,12 +56,12 @@ static float zero = 0.0; k=0; if (ix < 0x00800000) { /* x < 2**-126 */ - if ((ix&0x7fffffff)==0) - return -two25/zero; /* log(+-0)=-inf */ - if (ix<0) return (x-x)/zero; /* log(-#) = NaN */ + if ((ix&0x7fffffff)==0) + return -two25/(x-x); /* log(+-0)=-inf */ + if (ix<0) return (x-x)/(x-x); /* log(-#) = NaN */ k -= 25; x *= two25; /* subnormal number, scale up x */ GET_FLOAT_WORD(ix,x); - } + } if (ix >= 0x7f800000) return x+x; k += (ix>>23)-127; ix &= 0x007fffff; @@ -76,14 +76,14 @@ static float zero = 0.0; if(k==0) return f-R; else {dk=(float)k; return dk*ln2_hi-((R-dk*ln2_lo)-f);} } - s = f/((float)2.0+f); + s = f/((float)2.0+f); dk = (float)k; z = s*s; i = ix-(0x6147a<<3); w = z*z; j = (0x6b851<<3)-ix; - t1= w*(Lg2+w*(Lg4+w*Lg6)); - t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7))); + t1= w*(Lg2+w*(Lg4+w*Lg6)); + t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7))); i |= j; R = t2+t1; if(i>0) { diff --git a/sysdeps/libm-ieee754/s_isinf.c b/sysdeps/libm-ieee754/s_isinf.c index d3c2cb5..6f76ce1 100644 --- a/sysdeps/libm-ieee754/s_isinf.c +++ b/sysdeps/libm-ieee754/s_isinf.c @@ -23,12 +23,11 @@ static char rcsid[] = "$NetBSD: s_isinf.c,v 1.3 1995/05/11 23:20:14 jtc Exp $"; double x; #endif { - u_int32_t hx; - int32_t lx; + int32_t hx,lx; EXTRACT_WORDS(hx,lx,x); lx |= (hx & 0x7fffffff) ^ 0x7ff00000; lx |= -lx; - return ~(lx >> 31) & (1 - ((hx >> 30) & 2)); + return ~(lx >> 31) & (hx >> 30); } weak_alias (__isinf, isinf) #ifdef NO_LONG_DOUBLE diff --git a/sysdeps/libm-ieee754/s_isinff.c b/sysdeps/libm-ieee754/s_isinff.c index 9acc0df..18a0b5e 100644 --- a/sysdeps/libm-ieee754/s_isinff.c +++ b/sysdeps/libm-ieee754/s_isinff.c @@ -27,6 +27,6 @@ static char rcsid[] = "$NetBSD: s_isinff.c,v 1.3 1995/05/11 23:20:21 jtc Exp $"; t = ix & 0x7fffffff; t ^= 0x7f800000; t |= -t; - return ~(t >> 31) & (1 - ((ix & 0x80000000) >> 30)); + return ~(t >> 31) & (ix >> 30); } weak_alias (__isinff, isinff) diff --git a/sysdeps/libm-ieee754/s_log1p.c b/sysdeps/libm-ieee754/s_log1p.c index cc380a1..086c0dc 100644 --- a/sysdeps/libm-ieee754/s_log1p.c +++ b/sysdeps/libm-ieee754/s_log1p.c @@ -120,7 +120,7 @@ static double zero = 0.0; k = 1; if (hx < 0x3FDA827A) { /* x < 0.41422 */ if(ax>=0x3ff00000) { /* x <= -1.0 */ - if(x==-1.0) return -two54/zero; /* log1p(-1)=+inf */ + if(x==-1.0) return -two54/(x-x);/* log1p(-1)=+inf */ else return (x-x)/(x-x); /* log1p(x<-1)=NaN */ } if(ax<0x3e200000) { /* |x| < 2**-29 */ diff --git a/sysdeps/libm-ieee754/s_log1pf.c b/sysdeps/libm-ieee754/s_log1pf.c index ee0a839..5b1237b 100644 --- a/sysdeps/libm-ieee754/s_log1pf.c +++ b/sysdeps/libm-ieee754/s_log1pf.c @@ -8,7 +8,7 @@ * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice + * software is freely granted, provided that this notice * is preserved. * ==================================================== */ @@ -58,7 +58,7 @@ static float zero = 0.0; k = 1; if (hx < 0x3ed413d7) { /* x < 0.41422 */ if(ax>=0x3f800000) { /* x <= -1.0 */ - if(x==(float)-1.0) return -two25/zero; /* log1p(-1)=+inf */ + if(x==(float)-1.0) return -two25/(x-x); /* log1p(-1)=+inf */ else return (x-x)/(x-x); /* log1p(x<-1)=NaN */ } if(ax<0x31000000) { /* |x| < 2**-29 */ @@ -70,11 +70,11 @@ static float zero = 0.0; } if(hx>0||hx<=((int32_t)0xbe95f61f)) { k=0;f=x;hu=1;} /* -0.2929<x<0.41422 */ - } + } if (hx >= 0x7f800000) return x+x; if(k!=0) { if(hx<0x5a000000) { - u = (float)1.0+x; + u = (float)1.0+x; GET_FLOAT_WORD(hu,u); k = (hu>>23)-127; /* correction term */ @@ -90,7 +90,7 @@ static float zero = 0.0; if(hu<0x3504f7) { SET_FLOAT_WORD(u,hu|0x3f800000);/* normalize u */ } else { - k += 1; + k += 1; SET_FLOAT_WORD(u,hu|0x3f000000); /* normalize u/2 */ hu = (0x00800000-hu)>>2; } @@ -98,13 +98,13 @@ static float zero = 0.0; } hfsq=(float)0.5*f*f; if(hu==0) { /* |f| < 2**-20 */ - if(f==zero) if(k==0) return zero; + if(f==zero) if(k==0) return zero; else {c += k*ln2_lo; return k*ln2_hi+c;} R = hfsq*((float)1.0-(float)0.66666666666666666*f); if(k==0) return f-R; else return k*ln2_hi-((R-(k*ln2_lo+c))-f); } - s = f/((float)2.0+f); + s = f/((float)2.0+f); z = s*s; R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7)))))); if(k==0) return f-(hfsq-s*(hfsq+R)); else diff --git a/sysdeps/libm-ieee754/s_log2.c b/sysdeps/libm-ieee754/s_log2.c index 46b53cf..93c20b3 100644 --- a/sysdeps/libm-ieee754/s_log2.c +++ b/sysdeps/libm-ieee754/s_log2.c @@ -93,8 +93,8 @@ static double zero = 0.0; k=0; if (hx < 0x00100000) { /* x < 2**-1022 */ if (((hx&0x7fffffff)|lx)==0) - return -two54/zero; /* log(+-0)=-inf */ - if (hx<0) return (x-x)/zero; /* log(-#) = NaN */ + return -two54/(x-x); /* log(+-0)=-inf */ + if (hx<0) return (x-x)/(x-x); /* log(-#) = NaN */ k -= 54; x *= two54; /* subnormal number, scale up x */ GET_HIGH_WORD(hx,x); } diff --git a/sysdeps/libm-ieee754/s_log2f.c b/sysdeps/libm-ieee754/s_log2f.c index 6415c37..da9dfb8 100644 --- a/sysdeps/libm-ieee754/s_log2f.c +++ b/sysdeps/libm-ieee754/s_log2f.c @@ -53,8 +53,8 @@ static float zero = 0.0; k=0; if (ix < 0x00800000) { /* x < 2**-126 */ if ((ix&0x7fffffff)==0) - return -two25/zero; /* log(+-0)=-inf */ - if (ix<0) return (x-x)/zero; /* log(-#) = NaN */ + return -two25/(x-x); /* log(+-0)=-inf */ + if (ix<0) return (x-x)/(x-x); /* log(-#) = NaN */ k -= 25; x *= two25; /* subnormal number, scale up x */ GET_FLOAT_WORD(ix,x); } |