diff options
author | 2015-08-12 19:19:12 +0000 | |
---|---|---|
committer | 2015-08-12 19:19:12 +0000 | |
commit | b0c4c1129e02d987c83ed4ea3855981b08755c0c (patch) | |
tree | 9f6d71850580678bce1d982b95f893411aa92476 /lib/libm/src | |
parent | Start the rework of the /etc/rc shell script. (diff) | |
download | wireguard-openbsd-b0c4c1129e02d987c83ed4ea3855981b08755c0c.tar.xz wireguard-openbsd-b0c4c1129e02d987c83ed4ea3855981b08755c0c.zip |
fix a case where ceill() returns 1.0L: in the x86 extended precision format
the fraction part has no implicit bit
ok deraadt@
Diffstat (limited to 'lib/libm/src')
-rw-r--r-- | lib/libm/src/ld80/s_ceill.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libm/src/ld80/s_ceill.c b/lib/libm/src/ld80/s_ceill.c index bff5277806f..0d420693d18 100644 --- a/lib/libm/src/ld80/s_ceill.c +++ b/lib/libm/src/ld80/s_ceill.c @@ -37,7 +37,7 @@ ceill(long double x) if(jj0<0) { /* raise inexact if x != 0 */ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */ if(sx) {se=0x8000;i0=0;i1=0;} - else if((i0|i1)!=0) { se=0x3fff;i0=0;i1=0;} + else if((i0|i1)!=0) { se=0x3fff;i0=0x80000000;i1=0;} } } else { i = (0x7fffffff)>>jj0; |