3 #define SIGN 0x80000000
5 float nextafterf(float x, float y)
10 if (isnan(x) || isnan(y))
14 if (ux.bits == uy.bits)
21 ux.bits = (uy.bits & SIGN) | 1;
22 } else if (ax > ay || ((ux.bits ^ uy.bits) & SIGN))
26 e = ux.bits & 0x7f800000;
27 /* raise overflow if ux.value is infinite and x is finite */
30 /* raise underflow if ux.value is subnormal or zero */
32 FORCE_EVAL(x*x + ux.value*ux.value);