Lines Matching +full:ulp +full:- +full:0
1 /* s_nextafterf.c -- float version of s_nextafter.c.
27 ix = hx&0x7fffffff; /* |x| */ in nextafterf()
28 iy = hy&0x7fffffff; /* |y| */ in nextafterf()
30 if((ix>0x7f800000) || /* x is nan */ in nextafterf()
31 (iy>0x7f800000)) /* y is nan */ in nextafterf()
34 if(ix==0) { /* x == 0 */ in nextafterf()
35 SET_FLOAT_WORD(x,(hy&0x80000000)|1);/* return +-minsubnormal */ in nextafterf()
39 if(hx>=0) { /* x > 0 */ in nextafterf()
40 if(hx>hy) { /* x > y, x -= ulp */ in nextafterf()
41 hx -= 1; in nextafterf()
42 } else { /* x < y, x += ulp */ in nextafterf()
45 } else { /* x < 0 */ in nextafterf()
46 if(hy>=0||hx>hy){ /* x < y, x -= ulp */ in nextafterf()
47 hx -= 1; in nextafterf()
48 } else { /* x > y, x += ulp */ in nextafterf()
52 hy = hx&0x7f800000; in nextafterf()
53 if(hy>=0x7f800000) return x+x; /* overflow */ in nextafterf()
54 if(hy<0x00800000) { /* underflow */ in nextafterf()