Cofactor canonicalisation of mpn_gcdext

Torbjorn Granlund tg at
Wed Dec 2 16:40:58 CET 2009

nisse at (Niels Möller) writes:

  nisse at (Niels Möller) writes:
  > To get the old behaviour back, there are a couple of not too difficult
  > things that have to be done:
  > 1. Change interface and implementation of gcdext_1, currently defined
  > [...]
  > 2. There's one call to gcdext_1, in mpn/gcdext_lehmer.c. [...]
  >    Change this code adapt to the new gcdext_1 interface with signed
  >    cofactors. 
  I'm attaching a patch addressing these first two points. For those with
  access to shell, it's also in the repository at ~nisse/hack/gmp-gcdext.
It is nice that you found time to work on this!

I think you forgot to put the code in your shell repo.

  Passes make check, but I haven't investigated what effect it really has
  on the cofactors. Next step would be to change the gcdext test code to
  require more strict canonicalization.
I have a hacked test program, but I am not sure it enforces the
agreed-upon results for border cases (u,0), (0,u), (u,u), (0,0).


More information about the gmp-devel mailing list