On Sat, 30 Dec 2000, Andy Dougherty wrote:

> > >Anyone know of a good bigint/bigfloat library whose terms are such that we 
> > >can just snag the source and use it in perl?

> There's a clone of the GPL one that was written specifically to avoid GPL
> issues.  I'll try to dig up more references when I'm in next week.

Ah, yes.  The original GPL one was called gmp.  Since it was released
under the GPL and it was the only library with that particular API,
there were some interesting copyright implications.  See

  http://www.ptf.com/ptf/products/UNIX/current/0264.0.html

for some editorializing.

Primarily in response to this, fgmp was written as a public domain
library.  The most recent version I found in a less-than-exhaustive search
was

  http://munitions.vipul.net/software/libraries/mathematics/fgmp-1.0.1.shar

Now that gmp is licensed under the LPGL (see http://www.swox.com/gmp/ )
it isn't obvious to me how much to worry about all this.

One other possibility that turned up was 'calc'.

        http://www.isthe.com/chongo/tech/comp/calc/index.html

At first glance, it appears to have much more lenient licensing, but isn't
really packaged as an easy-to-build-and-use library.

(Again, this was a brief stint with a search engine, not an exhaustive
search.)

My main conclusion:

If you want to experiment with modifying perl5's bigints and bigfloats
with a tuned library to get an idea of how much speed we're talking about,
gmp is probably the best bet to get a good estimate with the least amount
of effort (though it doesn't look as if it's been ported to VMS, and it
didn't build for me under Solaris 8 when I just tested it ...). If you
want to redistribute the code, of course, then you need to think about
licensing issues.  (Does the LPGL and the existence of fgmp make it ok to
distribute the interface/XS code and rely on the end user to install gmp
if they so choose?  Ick.  I hate licensing problems.)

-- 
    Andy Dougherty              [EMAIL PROTECTED]
    Dept. of Physics
    Lafayette College, Easton PA 18042

Reply via email to