about summary refs log tree commit diff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2011-09-08 23:37:32 -0400
committerUlrich Drepper <drepper@gmail.com>2011-09-08 23:37:32 -0400
commit7f5517aa5269af6cac791ca74111f817320b73f2 (patch)
tree0fd1727af3deb3b0205a8ba2371889a610fee6ed /sysdeps/ieee754
parent5f69cd2f94fc7bf0a468bf0a5b53b32f2b7c468c (diff)
downloadglibc-7f5517aa5269af6cac791ca74111f817320b73f2.tar.gz
glibc-7f5517aa5269af6cac791ca74111f817320b73f2.tar.xz
glibc-7f5517aa5269af6cac791ca74111f817320b73f2.zip
Fix lround() loses precision
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/dbl-64/s_lround.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_lround.c b/sysdeps/ieee754/dbl-64/s_lround.c
index 4e1302ad4d..a849997a15 100644
--- a/sysdeps/ieee754/dbl-64/s_lround.c
+++ b/sysdeps/ieee754/dbl-64/s_lround.c
@@ -51,7 +51,7 @@ __lround (double x)
   else if (j0 < (int32_t) (8 * sizeof (long int)) - 1)
     {
       if (j0 >= 52)
-	result = ((long int) i0 << (j0 - 20)) | (i1 << (j0 - 52));
+	result = ((long int) i0 << (j0 - 20)) | ((long int) i1 << (j0 - 52));
       else
 	{
 	  u_int32_t j = i1 + (0x80000000 >> (j0 - 20));