diff options
author | Roland McGrath <roland@gnu.org> | 1996-07-12 00:43:28 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-07-12 00:43:28 +0000 |
commit | e6c9a67a0bdb970f3b7f7ced6581b98cfe35797c (patch) | |
tree | f44ede8d7ebfe1f660126bebf0f2ef7009e04309 /sysdeps/libm-i387/s_isnanl.c | |
parent | adc6ff7f817959b0acf48de1bf0e7a7a6c0b901d (diff) | |
download | glibc-e6c9a67a0bdb970f3b7f7ced6581b98cfe35797c.tar.gz glibc-e6c9a67a0bdb970f3b7f7ced6581b98cfe35797c.tar.xz glibc-e6c9a67a0bdb970f3b7f7ced6581b98cfe35797c.zip |
* math/Makefile (calls): Add s_frexp, s_ldexp.
(routines): Remove them and &f from here. * sys/socket.h: New file, wrapper for socket/sys/socket.h. Thu Jul 11 00:22:40 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/libm-ieee754/s_frexpl.c: New file. `long double' implementation of frexp() function. * sysdeps/libm-ieee754/s_ldexpl.c: New file. `long double' implementation of ldexp() function. * sysdeps/libm-i387/s_isnanl.c (isnanl): Mask explicit one out before or'ing.
Diffstat (limited to 'sysdeps/libm-i387/s_isnanl.c')
-rw-r--r-- | sysdeps/libm-i387/s_isnanl.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sysdeps/libm-i387/s_isnanl.c b/sysdeps/libm-i387/s_isnanl.c index 768ea2164b..6a74b956cc 100644 --- a/sysdeps/libm-i387/s_isnanl.c +++ b/sysdeps/libm-i387/s_isnanl.c @@ -36,10 +36,11 @@ static char rcsid[] = "$NetBSD: $"; int32_t se,hx,lx; GET_LDOUBLE_WORDS(se,hx,lx,x); se = (se & 0x7fff) << 1; - lx |= hx; - /* The additional &hx is required because Intel's extended format - has the normally implicit 1 explicit present. Sigh! */ - se |= (u_int32_t)((lx|(-lx))&hx)>>31; + /* The additional & 0x7fffffff is required because Intel's + extended format has the normally implicit 1 explicit + present. Sigh! */ + lx |= hx & 0x7fffffff; + se |= (u_int32_t)(lx|(-lx))>>31; se = 0xfffe - se; return (int)((u_int32_t)(se))>>16; } |