aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/ieee754/ldbl-96/s_ilogbl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/ieee754/ldbl-96/s_ilogbl.c b/sysdeps/ieee754/ldbl-96/s_ilogbl.c
index 9688f5af8f..6b781011c7 100644
--- a/sysdeps/ieee754/ldbl-96/s_ilogbl.c
+++ b/sysdeps/ieee754/ldbl-96/s_ilogbl.c
@@ -53,9 +53,13 @@ static char rcsid[] = "$NetBSD: $";
return ix;
}
else if (es<0x7fff) return es-0x3fff;
- else if (FP_ILOGBNAN != INT_MAX && (hx|lx) == 0)
- /* ISO C99 requires ilogbl(+-Inf) == INT_MAX. */
- return INT_MAX;
+ else if (FP_ILOGBNAN != INT_MAX)
+ {
+ GET_LDOUBLE_WORDS(es,hx,lx,x);
+ if ((hx & 0x7fffffff|lx) == 0)
+ /* ISO C99 requires ilogbl(+-Inf) == INT_MAX. */
+ return INT_MAX;
+ }
return FP_ILOGBNAN;
}
weak_alias (__ilogbl, ilogbl)