summaryrefslogtreecommitdiff
path: root/gen-psqr.c
diff options
context:
space:
mode:
authorMarco Bodrato <bodrato@mail.dm.unipi.it>2014-05-15 18:51:26 +0200
committerMarco Bodrato <bodrato@mail.dm.unipi.it>2014-05-15 18:51:26 +0200
commit562dbf041a887e1238ac4203fab3479ee62110b0 (patch)
treeeded00dede60cf611962507a0d9f60e5ae94f60c /gen-psqr.c
parent736f96b1042ed1718d87fa37661cf42f9070b265 (diff)
downloadgmp-562dbf041a887e1238ac4203fab3479ee62110b0.tar.gz
gen-fib.c: use mpz_setbit, gen-psqr.c: skip even numbers when looking for primes
Diffstat (limited to 'gen-psqr.c')
-rw-r--r--gen-psqr.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gen-psqr.c b/gen-psqr.c
index 31977cda1..6554b911e 100644
--- a/gen-psqr.c
+++ b/gen-psqr.c
@@ -174,8 +174,7 @@ f_cmp_fraction (const void *parg, const void *qarg)
int
mul_2exp_mod (int n, int p, int m)
{
- int i;
- for (i = 0; i < p; i++)
+ while (--p >= 0)
n = (2 * n) % m;
return n;
}
@@ -289,7 +288,7 @@ generate_mod (int limb_bits, int nail_bits)
mpz_init (q);
mpz_init (r);
- for (i = 3; i <= max_divisor; i++)
+ for (i = 3; i <= max_divisor; i+=2)
{
if (! isprime (i))
continue;
@@ -341,7 +340,7 @@ generate_mod (int limb_bits, int nail_bits)
/* one copy of each small prime */
mpz_set_ui (pp, 1L);
- for (i = 3; i <= max_divisor; i++)
+ for (i = 3; i <= max_divisor; i+=2)
{
if (! isprime (i))
continue;