Lines Matching defs:factors
41 struct factors
48 void factor (mpz_t, struct factors *);
51 factor_init (struct factors *factors)
53 factors->p = malloc (1);
54 factors->e = malloc (1);
55 factors->nfactors = 0;
59 factor_clear (struct factors *factors)
63 for (i = 0; i < factors->nfactors; i++)
64 mpz_clear (factors->p[i]);
66 free (factors->p);
67 free (factors->e);
71 factor_insert (struct factors *factors, mpz_t prime)
73 long nfactors = factors->nfactors;
74 mpz_t *p = factors->p;
75 unsigned long *e = factors->e;
99 factors->p = p;
100 factors->e = e;
101 factors->nfactors = nfactors + 1;
110 factor_insert_ui (struct factors *factors, unsigned long prime)
115 factor_insert (factors, pz);
121 factor_using_division (mpz_t t, struct factors *factors)
138 factor_insert_ui (factors, 2);
154 factor_insert_ui (factors, p);
188 struct factors factors;
219 factor (tmp, &factors);
231 for (i = 0; i < factors.nfactors && is_prime; i++)
233 mpz_divexact (tmp, nm1, factors.p[i]);
261 factor_clear (&factors);
269 factor_using_pollard_rho (mpz_t n, unsigned long a, struct factors *factors)
344 factor_using_pollard_rho (t, a + 1, factors);
348 factor_insert (factors, t);
353 factor_insert (factors, n);
366 factor (mpz_t t, struct factors *factors)
368 factor_init (factors);
372 factor_using_division (t, factors);
381 factor_insert (factors, t);
383 factor_using_pollard_rho (t, 1, factors);
393 struct factors factors;
416 factor (t, &factors);
418 for (j = 0; j < factors.nfactors; j++)
419 for (k = 0; k < factors.e[j]; k++)
420 gmp_printf (" %Zd", factors.p[j]);
423 factor_clear (&factors);
435 factor (t, &factors);
437 for (j = 0; j < factors.nfactors; j++)
438 for (k = 0; k < factors.e[j]; k++)
439 gmp_printf (" %Zd", factors.p[j]);
442 factor_clear (&factors);