From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.devel Subject: Nearly finished (re)integrating GMP for bignums. Date: Wed, 12 Feb 2003 10:07:29 -0600 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87heb9pjni.fsf@raven.i.defaultvalue.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1045066437 2401 80.91.224.249 (12 Feb 2003 16:13:57 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 12 Feb 2003 16:13:57 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18izPK-0008Tj-00 for ; Wed, 12 Feb 2003 17:06:46 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18izQj-0005gF-05 for guile-devel@m.gmane.org; Wed, 12 Feb 2003 11:08:13 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18izQR-0005ZM-00 for guile-devel@gnu.org; Wed, 12 Feb 2003 11:07:55 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18izQL-0005Sn-00 for guile-devel@gnu.org; Wed, 12 Feb 2003 11:07:50 -0500 Original-Received: from dsl093-098-016.wdc1.dsl.speakeasy.net ([66.93.98.16] helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18izQ3-0004uQ-00 for guile-devel@gnu.org; Wed, 12 Feb 2003 11:07:31 -0500 Original-Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id BDBEA611 for ; Wed, 12 Feb 2003 10:07:29 -0600 (CST) Original-Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id CBC1EB9DCC; Wed, 12 Feb 2003 10:07:29 -0600 (CST) Original-To: guile-devel@gnu.org User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:1913 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1913 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 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel