Thu Jul 11 00:22:40 1996 Ulrich Drepper <drepper@cygnus.com>
authorroland <roland>
Fri, 12 Jul 1996 00:38:34 +0000 (00:38 +0000)
committerroland <roland>
Fri, 12 Jul 1996 00:38:34 +0000 (00:38 +0000)
* sysdeps/libm-i387/s_isnanl.c (isnanl): Mask explicit one
out before or'ing.

sysdeps/libm-i387/s_isnanl.c

index 768ea21..6a74b95 100644 (file)
@@ -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;
 }