3 float modff(float x, float *iptr)
5 union {float x; uint32_t n;} u = {x};
9 e = (int)(u.n>>23 & 0xff) - 0x7f;
11 /* no fractional part */
14 if (e == 0x80 && u.n<<9 != 0) { /* nan */
20 /* no integral part */
28 if ((u.n & mask) == 0) {
35 STRICT_ASSIGN(float, x, x - *iptr);