
Hi On 7/30/06, p.tanski@gmail.com
(Sorry for the repost: I needed to correct a few typos--thanks Seth--and clarify a few things.)
GHC Task Ticket # 601 suggests replacing GMP with OpenSSL's Bignum library, BN. I have two questions concerning this:
(1) Why not use the ARbitrary PRECision Computation Package (ARPREC) by David Bailey, Yozo Hida, Karthik Jeyabalan, Xiaoye Li and Brandon Thompson? Here is a reference web page: http://crd.lbl.gov/~dhbailey/mpdist/
ARPREC is written in C++ but supports calls from C (see include/arprec/c_mp.h in the distribution directory). ARPREC is very fast and supports more complex mathematics than BN. The Licensing for ARPREC is not a problem: essentially similar to BSD3.
I think the idea is to get rid of annoying dependencies (GMP), and not to create new ones (C++). There's few other big ifs with APREC as far as I see: Fiddling with FPU precision regs in x86 and possibly problems in Windows environment. It might require a bit fiddling to get memory handling right when using APREC, as well. In past, I tried to get rid of GMP by replacing it with libtommath http://math.libtomcrypt.com/ But I have given up for now - because of related and unrelated problems. But, whoever starts the work probably gets to pick their lib, so OpenSSL's BN, APREC, LibTomMath or anything else...it's open :-) Best regards, Esa