about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-02-27 10:00:44 +0000
committerUlrich Drepper <drepper@redhat.com>1998-02-27 10:00:44 +0000
commit9eb2730eab81c7732ecd9727c64165cab01b0d2b (patch)
tree740f5b85a62a3aaf534f9a2d0da6cb2e80a28d2e /sysdeps
parentd7390a372fef23e78ff90d1a93eb6d5dc1d337f2 (diff)
downloadglibc-9eb2730eab81c7732ecd9727c64165cab01b0d2b.tar.gz
glibc-9eb2730eab81c7732ecd9727c64165cab01b0d2b.tar.xz
glibc-9eb2730eab81c7732ecd9727c64165cab01b0d2b.zip
Update.
1998-02-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_isnanl.c: Ignore the explicit integer
	bit.
	* sysdeps/libm-ieee754/s_isinfl.c: Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/libm-ieee754/s_isinfl.c6
-rw-r--r--sysdeps/libm-ieee754/s_isnanl.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/libm-ieee754/s_isinfl.c b/sysdeps/libm-ieee754/s_isinfl.c
index 697534ed0d..6f7c07c5af 100644
--- a/sysdeps/libm-ieee754/s_isinfl.c
+++ b/sysdeps/libm-ieee754/s_isinfl.c
@@ -21,9 +21,9 @@ __isinfl (long double x)
 {
 	int32_t se,hx,lx;
 	GET_LDOUBLE_WORDS(se,hx,lx,x);
-	hx |= lx | ((se & 0x7fff) ^ 0x7fff);
-	hx |= -hx;
+	lx |= (hx & 0x7fffffff) | ((se & 0x7fff) ^ 0x7fff);
+	lx |= -lx;
 	se &= 0x8000;
-	return ~(hx >> 31) & (1 - (se >> 14));
+	return ~(lx >> 31) & (1 - (se >> 14));
 }
 weak_alias (__isinfl, isinfl)
diff --git a/sysdeps/libm-ieee754/s_isnanl.c b/sysdeps/libm-ieee754/s_isnanl.c
index 0da97090bd..ba53faa1fd 100644
--- a/sysdeps/libm-ieee754/s_isnanl.c
+++ b/sysdeps/libm-ieee754/s_isnanl.c
@@ -36,8 +36,8 @@ static char rcsid[] = "$NetBSD: $";
 	int32_t se,hx,lx;
 	GET_LDOUBLE_WORDS(se,hx,lx,x);
 	se = (se & 0x7fff) << 1;
-	hx |= lx;
-	se |= (u_int32_t)(hx|(-hx))>>31;
+	lx |= hx & 0x7fffffff;
+	se |= (u_int32_t)(lx|(-lx))>>31;
 	se = 0xfffe - se;
 	return (int)((u_int32_t)(se))>>16;
 }