summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2005-10-03 00:29:08 +0200
committertege <tege@gmplib.org>2005-10-03 00:29:08 +0200
commit8b2fd8c2e6dbf5dd92e40c04285a12bed772f756 (patch)
tree4d3ebd62fb679f933ed1379edc0c846e058b161b
parent36a1436b57c92d6b1c50b541663e28396c94b856 (diff)
downloadgmp-4_1-branch.tar.gz
(factor_using_division_2kp): Honor verbose flag.gmp-4_1-branch
(factor_using_pollard_rho): Divide out new factor before it's clobbered. Don't stop factoring after a composite factor was found.
-rw-r--r--demos/factorize.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/demos/factorize.c b/demos/factorize.c
index d02c6e614..bac2097a8 100644
--- a/demos/factorize.c
+++ b/demos/factorize.c
@@ -108,6 +108,12 @@ factor_using_division_2kp (mpz_t t, unsigned int limit, unsigned long p)
mpz_t f;
unsigned int k;
+ if (flag_verbose)
+ {
+ printf ("[trial division (%u)] ", limit);
+ fflush (stdout);
+ }
+
mpz_init (r);
mpz_init_set_ui (f, 2 * p);
mpz_add_ui (f, f, 1);
@@ -219,6 +225,8 @@ S4:
}
while (mpz_cmp_ui (g, 1) == 0);
+ mpz_div (n, n, g); /* divide by g, before g is overwritten */
+
if (!mpz_probab_prime_p (g, 3))
{
do
@@ -235,7 +243,6 @@ S4:
fflush (stdout);
}
factor_using_pollard_rho (g, a_int, p);
- break;
}
else
{
@@ -243,7 +250,6 @@ S4:
fflush (stdout);
fputc (' ', stdout);
}
- mpz_div (n, n, g);
mpz_mod (x, x, n);
mpz_mod (x1, x1, n);
mpz_mod (y, y, n);