diff options
Diffstat (limited to '')
| -rw-r--r-- | src/gen/gens.c | 10 |
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) { |
