aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2018-04-22 18:51:08 +0200
committerJ08nY2018-04-22 18:51:08 +0200
commitf6dabdae75720fbf5dc9ba807f385717cbfcf782 (patch)
treedd0c164ae7d0b8acfdaad80df57368364f9960eb
parentbe7d0b9c4a37aa75a1420168e17733db5b70a218 (diff)
downloadecgen-f6dabdae75720fbf5dc9ba807f385717cbfcf782.tar.gz
ecgen-f6dabdae75720fbf5dc9ba807f385717cbfcf782.tar.zst
ecgen-f6dabdae75720fbf5dc9ba807f385717cbfcf782.zip
-rw-r--r--src/cm/custom.c14
-rw-r--r--src/io/cli.c3
2 files changed, 9 insertions, 8 deletions
diff --git a/src/cm/custom.c b/src/cm/custom.c
index fd58364..da80329 100644
--- a/src/cm/custom.c
+++ b/src/cm/custom.c
@@ -74,14 +74,13 @@ static void custom_quadr_next(custom_quadr_t *quadr) {
if (equalii(quadr->i, imax) || quadr->nprimes == 0) {
quadr->nprimes = custom_add_primes(quadr->r, quadr->order, &(quadr->Sp),
quadr->nprimes);
+ imax = int2n(quadr->nprimes);
}
+ pari_sp btop = avma;
while (true) {
- imax = int2n(quadr->nprimes);
-
while (cmpii(quadr->i, imax) < 0) {
// debug_log("i %Pi", quadr->i);
- pari_sp btop = avma;
GEN pprod = gen_1;
bits_t *ibits = bits_from_i_len(quadr->i, quadr->nprimes);
for (size_t j = 0; j < quadr->nprimes; ++j) {
@@ -100,8 +99,7 @@ static void custom_quadr_next(custom_quadr_t *quadr) {
GEN x;
GEN y;
if (!cornacchia2(absp, quadr->order, &x, &y)) {
- avma = btop;
- quadr->i = addis(quadr->i, 1);
+ quadr->i = gerepileupto(btop, addis(quadr->i, 1));
// debug_log("Cornacchia fail");
continue;
}
@@ -124,14 +122,16 @@ static void custom_quadr_next(custom_quadr_t *quadr) {
return;
}
}
- avma = btop;
- quadr->i = addis(quadr->i, 1);
+ quadr->i = gerepileupto(btop, addis(quadr->i, 1));
}
quadr->r = addis(quadr->r, 1);
quadr->nprimes = custom_add_primes(quadr->r, quadr->order, &(quadr->Sp),
quadr->nprimes);
rlog2 = sqri(mulii(addis(quadr->r, 1), logN));
+ imax = int2n(quadr->nprimes);
+
+ btop = avma;
}
}
diff --git a/src/io/cli.c b/src/io/cli.c
index f790ec3..2ca4b29 100644
--- a/src/io/cli.c
+++ b/src/io/cli.c
@@ -9,7 +9,8 @@
#include "exhaustive/brainpool.h"
char cli_doc[] =
- "ecgen, tool for generating Elliptic curve domain parameters.\v(C) 2017-2018 "
+ "ecgen, tool for generating Elliptic curve domain parameters.\v(C) "
+ "2017-2018 "
"Eastern Seaboard Phishing Authority";
char cli_args_doc[] = "bits";