aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJ08nY2018-03-28 20:24:14 +0200
committerJ08nY2018-03-28 20:24:14 +0200
commit0d3b110f107fb9f09b4b96f8f480b46d7068cd9e (patch)
tree39fbe3bb4830f73669d01522769de6c355f3bf04 /src
parentc303afb5544c31cd81435933d9f3527e0ba3c2a5 (diff)
downloadecgen-0d3b110f107fb9f09b4b96f8f480b46d7068cd9e.tar.gz
ecgen-0d3b110f107fb9f09b4b96f8f480b46d7068cd9e.tar.zst
ecgen-0d3b110f107fb9f09b4b96f8f480b46d7068cd9e.zip
Diffstat (limited to 'src')
-rw-r--r--src/invalid/invalid.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/invalid/invalid.c b/src/invalid/invalid.c
index 9590564..70ecda4 100644
--- a/src/invalid/invalid.c
+++ b/src/invalid/invalid.c
@@ -75,17 +75,19 @@ static size_t invalid_primes(GEN order, pari_ulong **primes) {
if (cfg->invalid_primes) {
char *end = NULL;
- last = (pari_ulong)strtol(cfg->invalid_primes, &end, 10);
+ last = (pari_ulong)strtol(cfg->invalid_primes, &end, 10) - 1;
if (end && *end) {
end++;
upper = (pari_ulong)strtol(end, NULL, 10);
+ } else {
+ upper = unextprime(last + 1);
}
}
size_t size = 10;
*primes = try_calloc(size * sizeof(pari_ulong));
- while (cmpii(bound, product) >= 0 && ((upper == 0) || last < upper)) {
+ while (((upper == 0) && cmpii(bound, product) >= 0) || (last <= upper)) {
product = mulis(product, last);
pari_ulong next = unextprime(last + 1);
if ((upper != 0) && next > upper) {