X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Filogbl.c;h=ed9ddcbc42582ac0fb2c0ab5923a0bccb6ccd050;hb=3678e6f4bb3efec5f0c1a7c453f686c17fa9867d;hp=099c81a4ebf4c11e07e8804e0f28efd8c80119ed;hpb=59c2bd747bce9b1e35c893b2ace9bea57523a901;p=libm diff --git a/src/math/ilogbl.c b/src/math/ilogbl.c index 099c81a..ed9ddcb 100644 --- a/src/math/ilogbl.c +++ b/src/math/ilogbl.c @@ -1,5 +1,6 @@ #include #include "libm.h" + #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 int ilogbl(long double x) { @@ -21,7 +22,7 @@ int ilogbl(long double x) } if (e == 0x7fff) /* in ld80 msb is set in inf */ - return m & ~((uint64_t)1<<63) ? FP_ILOGBNAN : INT_MAX; + return m & (uint64_t)-1>>1 ? FP_ILOGBNAN : INT_MAX; return e - 0x3fff; } #endif