aboutsummaryrefslogtreecommitdiff
path: root/src/gen
diff options
context:
space:
mode:
authorJ08nY2025-03-20 14:27:15 +0100
committerJ08nY2025-03-20 14:27:15 +0100
commitf2a371c2295e47a7139ebd092a7fe755448780e7 (patch)
treede8037c7d6e16fe700f9d1eefd92e93b8276a968 /src/gen
parent775e592be8ca163b702092bb1b7d21e303547927 (diff)
downloadecgen-f2a371c2295e47a7139ebd092a7fe755448780e7.tar.gz
ecgen-f2a371c2295e47a7139ebd092a7fe755448780e7.tar.zst
ecgen-f2a371c2295e47a7139ebd092a7fe755448780e7.zip
Abort earlier in unique gens.
Diffstat (limited to '')
-rw-r--r--src/gen/gens.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gen/gens.c b/src/gen/gens.c
index a743e79..a7e1f8d 100644
--- a/src/gen/gens.c
+++ b/src/gen/gens.c
@@ -37,13 +37,19 @@ GENERATOR(gens_gen_any) {
GENERATOR(gens_gen_one) {
pari_sp ltop = avma;
+ GEN group = ellff_get_group(curve->curve);
+ long len = glength(group);
+ if (len == 1) {
+ avma = ltop;
+ return -5;
+ }
GEN generators = ellff_get_gens(curve->curve);
- long len = glength(generators);
+ len = glength(generators);
if (len == 2) {
avma = ltop;
return -5;
}
- return gens_put(curve, generators, len);
+ return gens_put(curve, gerepilecopy(ltop, generators), len);
}
GENERATOR(gens_gen_cofactor) {