aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cm/cm.c9
-rw-r--r--src/gen/gens.c1
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;