diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-05-01 15:37:43 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-05-01 15:37:43 +0000 |
commit | 7cb029ee6ec74801aebe41af62d20a44775d0697 (patch) | |
tree | 68ee5f5b88832c10bc1c7560cc9f1651104aebf0 /sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c | |
parent | 412bd96612ff5422befb98e990b66d10c26a4b21 (diff) | |
download | glibc-7cb029ee6ec74801aebe41af62d20a44775d0697.zip glibc-7cb029ee6ec74801aebe41af62d20a44775d0697.tar.gz glibc-7cb029ee6ec74801aebe41af62d20a44775d0697.tar.bz2 |
Fix nexttoward bugs (bugs 2550, 2570).
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c b/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c index a674583..b387a91 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c @@ -49,17 +49,13 @@ float __nexttowardf(float x, long double y) return x; } if(hx>=0) { /* x > 0 */ - if(hy<0||(ix>>23)>(iy>>52)-0x380 - || ((ix>>23)==(iy>>52)-0x380 - && (ix&0x7fffff)>((hy>>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>>52)-0x380 - || ((ix>>23)==(iy>>52)-0x380 - && (ix&0x7fffff)>((hy>>29)&0x7fffff))) {/* x < y, x -= ulp */ + if(x < y) { /* x -= ulp */ hx -= 1; } else { /* x > y, x += ulp */ hx += 1; |