Howdy, I want to give Perl full access to the GMP library [1] and I am making that happen so that these routines can be used by Crypto::* and Math::* modules. The ultimate goal of this is so that the Crypt::* namespace will not depend on Math::Pari. The first step on this path is Math::Primality [2], which is involved in Google Summer of Code 2009 [3] and which will provide is_prime() and next_prime() functions for BigInts. These functions seem to be the main reason why so many crypto modules have no choice but to use Math::Pari. After is_prime() and next_prime() are implemented, many modules could in theory be ported over to Math::BigInt, but there are many routines which are currently not available from Perl in GMP that will speed up things considerably. I cannot quantify this right now, but I am willing to bet roughly an order of magnitude or two.
Currently there is: Math::GMP - only a small subset of the GMP library to emulate Math::BigInt API Math::BigInt::GMP - A faster implementation of the small subset for the Math::BigInt API Math::GMP::SWIG [4] (unreleased) - A full interface to GMP via SWIG, which I was actively working on but then ran into odd memory corruption errors and has been on hold lately. My main questions to this list are: 1) Does anybody have suggestions for a name for the CPAN module which will provide the full interface to GMP? 2) What do people hate/love/want to see in the Math::BigInt API ? Currently I have been hacking in the functions that I needed into my fork of Math::BigInt::GMP on github [5], but some stuff has nothing to do with the BigInt API and just doesn't belong there. I talked to Tels (who maintains Math::BigInt and Math::BigInt::GMP) and he gave me co-maintainer status, as he said that he does not have time to maintain these modules. If any one has any other comments regarding what they would like to see in regard to scientific computing with Perl, I would love to hear it. Cheers, NOTE: Crypto modules only require BigInts, not BigFloats, so the first iteration of all this will most probably only implement the integer algorithms of GMP. [1] http://gmplib.org/ [2] http://github.com/leto/math--primality/tree/master [3] http://leto.net/dukeleto.pl/2009/04/google-announces-nine-students-in-gsoc2009-with-the-perl-fou.html [4] http://leto.net/gitweb/?p=Math-GMP-SWIG.git;a=summary [5] http://github.com/leto/math--bigint--gmp/tree/master -- Jonathan Leto jonat...@leto.net http://leto.net