summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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]);