From 4bf51fc47b31cf03fd725fb90cc3ae53d178d172 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 21 Mar 2025 12:00:05 +0100 Subject: Fix addprimes call in cm_any. --- src/cm/cm.c | 9 +++++++-- src/gen/gens.c | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cm/cm.c b/src/cm/cm.c index 79e0e0e..04b988a 100644 --- a/src/cm/cm.c +++ b/src/cm/cm.c @@ -181,10 +181,15 @@ static int cm_init(exhaustive_t *setup) { for (long j = 1; j <= len; ++j) { GEN factor = gel(factors, j); if (isprime(factor)) { + debug_log("Adding prime factor %Pi", factor); addprimes(gtovec(factor)); } else { - GEN factored = Z_factor(order); - addprimes(gel(factored, 1)); + GEN factored = Z_factor(factor); + GEN primes = gel(factored, 1); + for (long k = 1; k <= glength(primes); ++k) { + debug_log("Adding prime factor %Pi", gel(primes, k)); + addprimes(gel(primes, k)); + } } order = mulii(order, factor); } diff --git a/src/gen/gens.c b/src/gen/gens.c index a32f8b8..329149a 100644 --- a/src/gen/gens.c +++ b/src/gen/gens.c @@ -38,6 +38,7 @@ GENERATOR(gens_gen_any) { GENERATOR(gens_gen_one) { pari_sp ltop = avma; GEN group = ellff_get_group(curve->curve); + debug_log("Group structure %Ps.", group); long len = glength(group); if (len == 2) { avma = ltop; -- cgit v1.3.1