diff options
Diffstat (limited to 'math/s_nexttowardf.c')
-rw-r--r-- | math/s_nexttowardf.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/math/s_nexttowardf.c b/math/s_nexttowardf.c index fb008d579c..e8c4dd1d8d 100644 --- a/math/s_nexttowardf.c +++ b/math/s_nexttowardf.c @@ -47,16 +47,12 @@ float __nexttowardf(float x, long double y) return x; } if(hx>=0) { /* x > 0 */ - if(hy<0||(ix>>23)>(iy>>20)-0x380 - || ((ix>>23)==(iy>>20)-0x380 - && (ix&0x7fffff)>(((hy<<3)|(ly>>29))&0x7fffff))) /* x > y, x -= ulp */ + if(x > y) /* x -= ulp */ hx -= 1; else /* x < y, x += ulp */ hx += 1; } else { /* x < 0 */ - if(hy>=0||(ix>>23)>(iy>>20)-0x380 - || ((ix>>23)==(iy>>20)-0x380 - && (ix&0x7fffff)>(((hy<<3)|(ly>>29))&0x7fffff))) /* x < y, x -= ulp */ + if(x < y) /* x -= ulp */ hx -= 1; else /* x > y, x += ulp */ hx += 1; |