diff options
author | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-06-19 15:29:04 +0200 |
---|---|---|
committer | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-06-19 15:29:04 +0200 |
commit | 67ce09579f0ab1bf9f89a536261270669e61b67e (patch) | |
tree | 6ecebd9edc6cba8725f7aae382075efca5812592 | |
parent | 55afa4f44a0ad897faf10f4573aad17c085703f8 (diff) | |
download | gmp-67ce09579f0ab1bf9f89a536261270669e61b67e.tar.gz |
mpz/millerrabin.c: Use mp_bitcnt_t.
-rw-r--r-- | mpz/millerrabin.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/mpz/millerrabin.c b/mpz/millerrabin.c index f9336ca30..98c4d6af3 100644 --- a/mpz/millerrabin.c +++ b/mpz/millerrabin.c @@ -65,7 +65,7 @@ int mpz_millerrabin (mpz_srcptr n, int reps) { mpz_t nm, x, y, q; - unsigned long int k; + mp_bitcnt_t k; int is_prime; TMP_DECL; TMP_MARK; @@ -79,7 +79,7 @@ mpz_millerrabin (mpz_srcptr n, int reps) MPZ_TMP_INIT (q, SIZ (n)); /* Find q and k, where q is odd and n = 1 + 2**k * q. */ - k = mpz_scan1 (nm, 0L); + k = mpn_scan1 (PTR (nm), 0); mpz_tdiv_q_2exp (q, nm, k); ++k; @@ -199,16 +199,14 @@ mod_eq_m1 (mpz_srcptr x, mpz_srcptr m) static int millerrabin (mpz_srcptr n, mpz_ptr x, mpz_ptr y, - mpz_srcptr q, unsigned long int k) + mpz_srcptr q, mp_bitcnt_t k) { - unsigned long int i; - mpz_powm (y, x, q, n); if (mpz_cmp_ui (y, 1L) == 0 || mod_eq_m1 (y, n)) return 1; - for (i = 1; i < k; i++) + for (mp_bitcnt_t i = 1; i < k; ++i) { mpz_powm_ui (y, y, 2L, n); if (mod_eq_m1 (y, n)) |