summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bodrato <bodrato@mail.dm.unipi.it>2013-01-26 10:31:44 +0100
committerMarco Bodrato <bodrato@mail.dm.unipi.it>2013-01-26 10:31:44 +0100
commit5ed4c36979c6b3e19a2495be3300d1105b915ea5 (patch)
tree23e074edb7fcb439064361ac5382579903ccc0d1
parent745b1383c60ad38682118ae23ee538a34ead0682 (diff)
downloadgmp-5ed4c36979c6b3e19a2495be3300d1105b915ea5.tar.gz
mpz/remove.c: init+set=init_set, cast before shifting
-rw-r--r--mpz/remove.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mpz/remove.c b/mpz/remove.c
index a1283eed8..b3bb4ef0b 100644
--- a/mpz/remove.c
+++ b/mpz/remove.c
@@ -78,8 +78,7 @@ mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
mpz_init (x);
pwr = 0;
- mpz_init (fpow[0]);
- mpz_set (fpow[0], f);
+ mpz_init_set (fpow[0], f);
mpz_set (dest, src);
/* Divide by f, f^2 ... f^(2^k) until we get a remainder for f^(2^k). */
@@ -93,7 +92,7 @@ mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
mpz_set (dest, x);
}
- pwr = (1L << p) - 1;
+ pwr = ((mp_bitcnt_t)1 << p) - 1;
mpz_clear (fpow[p]);
@@ -104,7 +103,7 @@ mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
mpz_tdiv_qr (x, rem, dest, fpow[p]);
if (SIZ (rem) == 0)
{
- pwr += 1L << p;
+ pwr += (mp_bitcnt_t)1 << p;
mpz_set (dest, x);
}
mpz_clear (fpow[p]);