projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'nsz/math'
[musl]
/
src
/
math
/
ilogbl.c
diff --git
a/src/math/ilogbl.c
b/src/math/ilogbl.c
index
ed9ddcb
..
1512934
100644
(file)
--- a/
src/math/ilogbl.c
+++ b/
src/math/ilogbl.c
@@
-14,15
+14,19
@@
int ilogbl(long double x)
int e = u.bits.exp;
if (!e) {
int e = u.bits.exp;
if (!e) {
- if (m == 0)
+ if (m == 0) {
+ FORCE_EVAL(0/0.0f);
return FP_ILOGB0;
return FP_ILOGB0;
+ }
/* subnormal x */
for (e = -0x3fff+1; m < (uint64_t)1<<63; e--, m<<=1);
return e;
}
/* subnormal x */
for (e = -0x3fff+1; m < (uint64_t)1<<63; e--, m<<=1);
return e;
}
- if (e == 0x7fff)
+ if (e == 0x7fff) {
+ FORCE_EVAL(0/0.0f);
/* in ld80 msb is set in inf */
return m & (uint64_t)-1>>1 ? FP_ILOGBNAN : INT_MAX;
/* in ld80 msb is set in inf */
return m & (uint64_t)-1>>1 ? FP_ILOGBNAN : INT_MAX;
+ }
return e - 0x3fff;
}
#endif
return e - 0x3fff;
}
#endif