]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
factor: port to --without-libgmp
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Jul 2020 01:45:06 +0000 (18:45 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Jul 2020 01:46:35 +0000 (18:46 -0700)
* src/factor.c (mp_factor_using_division): Use mpz_fdiv_q_2exp
instead of its no-longer-documented mpz_div_2exp alias.
(print_factors): Use mpz_out_str instead of gmp_printf.

src/factor.c

index 1b1607f165e08bc7de7adb2d3018486741eebfeb..10bae7de1aebe52937a9c360d3603709d9a29dba 100644 (file)
@@ -836,7 +836,7 @@ mp_factor_using_division (mpz_t t, struct mp_factors *factors)
   mpz_init (q);
 
   p = mpz_scan1 (t, 0);
-  mpz_div_2exp (t, t, p);
+  mpz_fdiv_q_2exp (t, t, p);
   while (p)
     {
       mp_factor_insert_ui (factors, 2);
@@ -2503,12 +2503,16 @@ print_factors (const char *input)
 
   mpz_init_set_str (t, str, 10);
 
-  gmp_printf ("%Zd:", t);
+  mpz_out_str (stdout, 10, t);
+  putchar (':');
   mp_factor (t, &factors);
 
   for (unsigned int j = 0; j < factors.nfactors; j++)
     for (unsigned int k = 0; k < factors.e[j]; k++)
-      gmp_printf (" %Zd", factors.p[j]);
+      {
+        putchar (' ');
+        mpz_out_str (stdout, 10, factors.p[j]);
+      }
 
   mp_factor_clear (&factors);
   mpz_clear (t);