guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Nearly finished (re)integrating GMP for bignums.


From: Rob Browning
Subject: Nearly finished (re)integrating GMP for bignums.
Date: Wed, 12 Feb 2003 10:07:29 -0600
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu)

I've finished much of the work (re-doing it after losing my previous
effort :<), but I still have to figure out how to handle the
ipv6->bignum code in sockets.c, and how to deal with random.c.  In the
former, raw operations are used.  I'm tempted to just rewrite the
computation as mathematical operations on the input char[] items
rather than trying to optimize it with larger memcpy operations.
Thoughts?  One thing I note is that it looks like the code presumes
that an INUM will always fit into a 32bit integer.  Do we guarantee
that, or is there the possibility we might allow 64bit inums?  I
wasn't sure which guarantees we planned to make.

With respect to random.c, we have a pluggable random number system,
and ATM the bignum randoms are computed using the
"get_32_random_bits()" function provided by the random state object.
However GMP has its own random number generators, including ones for
bignums.  Any thoughts on how we should handle this?

After I get the system to compile, I'll then be adding tests (and
probably benchmarks).  I don't want to commit it until I feel fairly
confident its correct, and hopefully have some sense of the relative
performance.

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]