diff options
author | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-05-29 18:08:56 +0200 |
---|---|---|
committer | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-05-29 18:08:56 +0200 |
commit | 55afa4f44a0ad897faf10f4573aad17c085703f8 (patch) | |
tree | 82e05304893563d0656368e8f9093a03ebd2e37f | |
parent | 976ee0b1d700ece99df97ba014a0b33d9ba539e7 (diff) | |
download | gmp-55afa4f44a0ad897faf10f4573aad17c085703f8.tar.gz |
mpz/stronglucas.c: Add a comment
-rw-r--r-- | mpz/stronglucas.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mpz/stronglucas.c b/mpz/stronglucas.c index cf9e7ff40..1b2eff2fe 100644 --- a/mpz/stronglucas.c +++ b/mpz/stronglucas.c @@ -122,6 +122,7 @@ mpz_stronglucas (mpz_srcptr x, mpz_ptr V, mpz_ptr Qk) /* (2^24 - 1) | (2^{GMP_NUMB_BITS*3/4} - 1) */ /* (2^24 - 1) = (2^12 - 1) * 17 * 241 */ else if (! POW2_P (g % 17) && ! POW2_P (17 - g % 17)) + /* (17/n) = -1, iff n != +-1,+-2,+-4,+-8 (mod 17) */ D = 17; /* Q = -4 */ #endif #else @@ -179,7 +180,7 @@ mpz_stronglucas (mpz_srcptr x, mpz_ptr V, mpz_ptr Qk) /* If Ud != 0 && Vd != 0 */ if (mpz_lucas_mod (V, Qk, Q, b0, n, T1, T2) == 0) if (LIKELY (--b0 != 0)) - do + for (;;) { /* V_{2k} <- V_k ^ 2 - 2Q^k */ mpz_mul (T2, V, V); @@ -190,7 +191,7 @@ mpz_stronglucas (mpz_srcptr x, mpz_ptr V, mpz_ptr Qk) /* Q^{2k} = (Q^k)^2 */ mpz_mul (T2, Qk, Qk); mpz_tdiv_r (Qk, T2, n); - } while (1); + } mpz_clear (T1); mpz_clear (T2); |