/* Loop until Lucas proves our number prime, or Miller-Rabin proves our
number composite. */
- for (idx_t r = 0; r < PRIMES_PTAB_ENTRIES; r++)
+ for (idx_t r = 0; ; r++)
{
bool is_prime;
if (is_prime)
return true;
+ /* A Lucas prime test failure should not happen. */
+ affirm (r < PRIMES_PTAB_ENTRIES);
+
a += primes_diff[r]; /* Establish new base. */
/* The following is equivalent to redcify (a_prim, a, n). It runs faster
if (!millerrabin (n, ni, a_prim, q, k, one))
return false;
}
-
- affirm (!"Lucas prime test failure. This should not happen");
}
static bool ATTRIBUTE_PURE
/* Loop until Lucas proves our number prime, or Miller-Rabin proves our
number composite. */
- for (idx_t r = 0; r < PRIMES_PTAB_ENTRIES; r++)
+ for (idx_t r = 0; ; r++)
{
bool is_prime;
mp_limb_t e[2];
if (is_prime)
return true;
+ /* A Lucas prime test failure should not happen. */
+ affirm (r < PRIMES_PTAB_ENTRIES);
+
a += primes_diff[r]; /* Establish new base. */
redcify2 (a_prim[1], a_prim[0], a, n1, n0);
if (!millerrabin2 (na, ni, a_prim, q, k, one))
return false;
}
-
- affirm (!"Lucas prime test failure. This should not happen");
}
static bool
/* Loop until Lucas proves our number prime, or Miller-Rabin proves our
number composite. */
- for (idx_t r = 0; r < PRIMES_PTAB_ENTRIES; r++)
+ for (idx_t r = 0; ; r++)
{
if (flag_prove_primality)
{
}
if (is_prime)
- goto ret1;
+ break;
+
+ /* A Lucas prime test failure should not happen. */
+ affirm (r < PRIMES_PTAB_ENTRIES);
mpz_add_ui (a, a, primes_diff[r]); /* Establish new base. */
if (!mp_millerrabin (n, nm1, a, tmp, q, k))
{
is_prime = false;
- goto ret1;
+ break;
}
}
- affirm (!"Lucas prime test failure. This should not happen");
-
- ret1:
if (flag_prove_primality)
mp_factor_clear (&factors);
ret2: