4 int ilogbl(long double x)
9 int ilogbl(long double x)
11 union ldshape u = {x};
12 uint64_t m = u.bits.m;
19 for (e = -0x3fff+1; m < (uint64_t)1<<63; e--, m<<=1);
23 /* in ld80 msb is set in inf */
24 return m & ~((uint64_t)1<<63) ? FP_ILOGBNAN : INT_MAX;