mpz_mod inside loop

Torbjörn Granlund tg at
Fri May 17 12:17:25 UTC 2019

I suppressed one line which made my suggested shift-up solution hard to
read.  Here is more complete code, with assignment of s:

  unsigned long s = mpz_sizeinbase (a, 2);
  mpz_mul_2exp (a, a, (GMP_NUMB_BITS - s) % GMP_NUMB_BITS);

Of course, this is equivalent to (-s) % GMP_NUMB_BITS as GMP_NUMB_BITS
divides GMP_NUMB_BITS...

Please encrypt, key id 0xC8601622

More information about the gmp-discuss mailing list