summaryrefslogtreecommitdiff
path: root/round.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>1999-07-02 09:32:47 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>1999-07-02 09:32:47 +0000
commita2cab7ceb362391651b18c52e3dfbd28f11142d9 (patch)
treee3d21dc216fd129f6937ee176e45e9e971b74b79 /round.c
parent16e4051a6250f77c7a3e00965d2b41948f2b658e (diff)
downloadmpfr-a2cab7ceb362391651b18c52e3dfbd28f11142d9.tar.gz
changed type of mask to mp_limb_t in mpfr_round_raw2
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@250 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'round.c')
-rw-r--r--round.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/round.c b/round.c
index 9d4d6c760..521baeaca 100644
--- a/round.c
+++ b/round.c
@@ -26,14 +26,14 @@ mpfr_round_raw2(xp, xn, neg, rnd, prec)
unsigned long prec;
#endif
{
- unsigned long mask, nw; long wd; char rw; short l;
+ unsigned long nw; long wd; char rw; short l; mp_limb_t mask;
nw = prec / BITS_PER_MP_LIMB; rw = prec & (BITS_PER_MP_LIMB - 1);
if (rw) nw++;
if (rnd==GMP_RNDZ || xn<nw || (rnd==GMP_RNDU && neg)
|| (rnd==GMP_RNDD && neg==0)) return 0;
- mask = ~((1UL<<(BITS_PER_MP_LIMB - rw)) - 1);
+ mask = ~((((mp_limb_t)1)<<(BITS_PER_MP_LIMB - rw)) - 1);
switch (rnd)
{
case GMP_RNDU:
@@ -61,7 +61,7 @@ mpfr_round_raw2(xp, xn, neg, rnd, prec)
else
if (rw + 1 < BITS_PER_MP_LIMB)
{
- if ((xp[wd] & (~mask)) == (1UL << (BITS_PER_MP_LIMB - rw - 1)))
+ if ((xp[wd] & (~mask)) == (((mp_limb_t)1) << (BITS_PER_MP_LIMB - rw - 1)))
do { wd--; } while (wd >= 0 && !xp[wd]);
else return ((xp[wd]>>(BITS_PER_MP_LIMB - rw - 1)) & 1);