aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
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 697534e..6f7c07c 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 0da9709..ba53faa 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;
}