summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bodrato <bodrato@mail.dm.unipi.it>2022-05-29 18:08:56 +0200
committerMarco Bodrato <bodrato@mail.dm.unipi.it>2022-05-29 18:08:56 +0200
commit55afa4f44a0ad897faf10f4573aad17c085703f8 (patch)
tree82e05304893563d0656368e8f9093a03ebd2e37f
parent976ee0b1d700ece99df97ba014a0b33d9ba539e7 (diff)
downloadgmp-55afa4f44a0ad897faf10f4573aad17c085703f8.tar.gz
mpz/stronglucas.c: Add a comment
-rw-r--r--mpz/stronglucas.c5
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);