summaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/dbl-64/s_rint.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-03-26 11:22:19 +0000
committerJakub Jelinek <jakub@redhat.com>2008-03-26 11:22:19 +0000
commitf23e5ee26d14b7931c65e5df0bf46ff356c6177b (patch)
tree7ec5160f8a03894ed0f4be9a1c312ed5bffdc7e5 /sysdeps/ieee754/dbl-64/s_rint.c
parentd0b6ac6c5023a223e150c49c422c7ad2bd99456c (diff)
Updated to fedora-glibc-20080326T1041cvs/fedora-glibc-2_7_90-12
Diffstat (limited to 'sysdeps/ieee754/dbl-64/s_rint.c')
-rw-r--r--sysdeps/ieee754/dbl-64/s_rint.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_rint.c b/sysdeps/ieee754/dbl-64/s_rint.c
index e5f241291c..4e6381efbe 100644
--- a/sysdeps/ieee754/dbl-64/s_rint.c
+++ b/sysdeps/ieee754/dbl-64/s_rint.c
@@ -67,8 +67,15 @@ TWO52[2]={
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
- if(j0==19) i1 = 0x40000000; else
- i0 = (i0&(~i))|((0x20000)>>j0);
+ if (j0==19)
+ i1 = 0x40000000;
+ else if (j0<18)
+ i0 = (i0&(~i))|((0x20000)>>j0);
+ else
+ {
+ i0 &= ~i;
+ i1 = 0x80000000;
+ }
}
}
} else if (j0>51) {