Two 10-lines functions

Torbjorn Granlund tg at
Wed Jan 20 22:57:51 CET 2010

"gianrico.fini at" <gianrico.fini at> writes:

  Dear developers,
  I was challenged... the challenge was: write a 10-lines substitute for the 
  function mpn_mulmod_2expp1.

There is no function mpn_mulmod_2expp1 in any version of GMP.  (But an
early version of mpn_mulmod_bnm1 was called something like that.)

  It computes the product of xp and yp modulo 2^b+1. It assumes that xp and yp 
  have exactly b bits.

What does it mean that "xp has exactly b bits"?  That 2^(b-1) <= xp <
2^b?  It looks like your code does not handle any b value, or there
should be some shifting.

  This function is needed for a benchmark checking if some Fermat's numbers are 
  prime or not.

I'd suspect mpn_mul_fft might be directly applicable for that.  It has
existed in GMP since the dark ages...
I am not sure what do do with your contribution, and where it would fit


More information about the gmp-devel mailing list