summaryrefslogtreecommitdiffstats
path: root/newlib/libm/common/sf_rint.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2010-03-08 17:16:37 +0000
committerJeff Johnston <jjohnstn@redhat.com>2010-03-08 17:16:37 +0000
commit23a6adc2c38454ff01231a82841e9c8a0c09ff45 (patch)
treeda7cb975677a93aca19967efbd3308dd623b3e54 /newlib/libm/common/sf_rint.c
parent1f440e4dbe41b1237c7a75c0723506a5cc2003d3 (diff)
downloadcygnal-23a6adc2c38454ff01231a82841e9c8a0c09ff45.tar.gz
cygnal-23a6adc2c38454ff01231a82841e9c8a0c09ff45.tar.bz2
cygnal-23a6adc2c38454ff01231a82841e9c8a0c09ff45.zip
2010-03-08 Craig Howland <howland@LGSInnovations.com>
* libm/common/s_rint.c: Fix error when integral part had 18 bits and fraction had bits set beyond first radix bit. Also, make 2-part adjustment consistent with 1-part adjustment when adjusting fractional bits. * libm/common/sf_rint.c: Make fractional-bit adjustment consistent with s_rint.c by setting 0b.01 instead of 0b.001.
Diffstat (limited to 'newlib/libm/common/sf_rint.c')
-rw-r--r--newlib/libm/common/sf_rint.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/newlib/libm/common/sf_rint.c b/newlib/libm/common/sf_rint.c
index 6459b7a4c..bc0b46659 100644
--- a/newlib/libm/common/sf_rint.c
+++ b/newlib/libm/common/sf_rint.c
@@ -57,7 +57,7 @@ TWO23[2]={
i = (0x007fffff)>>j0;
if((i0&i)==0) return x; /* x is integral */
i>>=1;
- if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
+ if((i0&i)!=0) i0 = (i0&(~i))|((0x200000)>>j0);
}
} else {
if(!FLT_UWORD_IS_FINITE(ix)) return x+x; /* inf or NaN */