From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Eric Hanchrow Newsgroups: gmane.lisp.guile.devel Subject: Re: Forwarded patch for modular exponentiation support (GMP powm) Date: Tue, 10 Feb 2004 23:00:50 -0800 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87ad3qm76l.fsf@offby1.atm01.sea.blarg.net> References: <87k73cng30.fsf@raven.i.defaultvalue.org> <874qtzsv3c.fsf@zip.com.au> <87llnah2hf.fsf@offby1.atm01.sea.blarg.net> <87hdxyctsa.fsf@zip.com.au> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1076483571 27641 80.91.224.253 (11 Feb 2004 07:12:51 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 11 Feb 2004 07:12:51 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Feb 11 08:12:44 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AqoY8-0001qa-00 for ; Wed, 11 Feb 2004 08:12:44 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AqoXM-0000hR-M1 for guile-devel@m.gmane.org; Wed, 11 Feb 2004 02:11:56 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AqoWk-0000cs-K3 for guile-devel@gnu.org; Wed, 11 Feb 2004 02:11:18 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AqoWB-0000JJ-Fx for guile-devel@gnu.org; Wed, 11 Feb 2004 02:11:15 -0500 Original-Received: from [80.91.224.249] (helo=main.gmane.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AqoW9-0000Hv-U4 for guile-devel@gnu.org; Wed, 11 Feb 2004 02:10:42 -0500 Original-Received: from root by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1AqoW6-0000XJ-00 for ; Wed, 11 Feb 2004 08:10:38 +0100 Original-Received: from offby1.atm01.sea.blarg.net ([206.124.138.125]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed Feb 11 07:10:38 2004 Original-Received: from offby1 by offby1.atm01.sea.blarg.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed Feb 11 07:10:38 2004 X-Injected-Via-Gmane: http://gmane.org/ Original-To: guile-devel@gnu.org Original-Lines: 105 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: offby1.atm01.sea.blarg.net User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:KM9KMSDzvp12vVWcvoMNeL3pPeg= X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:3361 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3361 --=-=-= This isn't exactly a patch -- rather, it's a new file followed by a patch. Anyhow I've incorporated most of Kevin Ryde's suggestions. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=diffs Content-Transfer-Encoding: base64 Content-Description: semi-patch Ozs7OyBtZXhwLnRlc3QgLS0tIHRlc3Qgc3VpdGUgZm9yIEd1aWxlJ3MgbW9kdWxhciBleHBvbmVu dGlhdGlvbiBmdW5jdGlvbnMgICAgLSotIHNjaGVtZSAtKi0KOzs7OyBFcmljIEhhbmNocm93IDxv ZmZieTFAYmxhcmcubmV0PiAtLS0gSmFudWFyeSAyMDA0Cjs7OzsKOzs7OyBDb3B5cmlnaHQgKEMp IDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCjs7OzsgCjs7OzsgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKOzs7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQo7Ozs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKOzs7OyBhbnkgbGF0ZXIgdmVyc2lv bi4KOzs7OyAKOzs7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKOzs7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo7Ozs7IE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKOzs7OyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo7Ozs7IAo7Ozs7IFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7 OzsgYWxvbmcgd2l0aCB0aGlzIHNvZnR3YXJlOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5v dCwgd3JpdGUgdG8KOzs7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU ZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwKOzs7OyBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCgo7 OyBZb3UgY2FuIGVhc2lseSBkb3VibGUtY2hlY2sgdGhlc2UgbnVtYmVycyBieSB1c2luZyBwZXJs IHdpdGggdGhlIE1hdGg6OkJpZ0ludDo6R01QIGxpYnJhcnkuCih3aXRoLXRlc3QtcHJlZml4ICJt b2R1bG8tZXhwdCIKICAgKHBhc3MtaWYgKD0gMSAobW9kdWxvLWV4cHQgMTcgMjMgNDcpKSkKICAg CiAgIChwYXNzLWlmICg9IDEgKG1vZHVsby1leHB0IDE3IC0yMyA0NykpKQogICAKICAgKHBhc3Mt aWYgKD0gMTcgKG1vZHVsby1leHB0IDE3IC0yMiA0NykpKQogICAKICAgKHBhc3MtaWYgKD0gMzYg KG1vZHVsby1leHB0IDE3IDIyIDQ3KSkpCiAgIAogICAocGFzcy1pZiAoPSAxODM2NTg3OTQ0Nzk5 NjkxMzQ4MTY2NzQxNzUwODIyOTQ4NDYyNDE1NTM3MjUyNDAgKG1vZHVsby1leHB0IDExMTEyMjIy MzMzMzQ0NDQ1NTU1NjY2NiAxMTExMjIyMjMzMzM0NDQ0NTU1NTY2NjYgMTE1MzQ3ODY5MDAxMjYy OTk2ODQzOTQzMjg3MjUyMDc1ODk4MjczMTAyMjkzNDcxNykpKQoKICAgKHBhc3MtaWYtZXhjZXB0 aW9uCiAgICAiUHJvcGVyIGV4Y2VwdGlvbiB3aXRoIDAgbW9kdWx1cyIKICAgIChjb25zICdudW1l cmljYWwtb3ZlcmZsb3cgIiIpCiAgICAobW9kdWxvLWV4cHQgMTcgMjMgMCkpCgogICAocGFzcy1p Zi1leGNlcHRpb24KICAgICJQcm9wZXIgZXhjZXB0aW9uIHdoZW4gcmVzdWx0IG5vdCBpbnZlcnRp YmxlIgogICAgKGNvbnMgJ251bWVyaWNhbC1vdmVyZmxvdyAiIikKICAgIChtb2R1bG8tZXhwdCAx MCAtMSA0OCkpCikKDApJbmRleDogZ3VpbGUtY29yZS9saWJndWlsZS9udW1iZXJzLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvZ3VpbGUvZ3VpbGUvZ3VpbGUtY29yZS9saWJndWlsZS9u dW1iZXJzLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjIxCmRpZmYgLXcgLXUgLXIxLjIyMSBu dW1iZXJzLmMKLS0tIGd1aWxlLWNvcmUvbGliZ3VpbGUvbnVtYmVycy5jCTYgSmFuIDIwMDQgMjE6 NTU6MjkgLTAwMDAJMS4yMjEKKysrIGd1aWxlLWNvcmUvbGliZ3VpbGUvbnVtYmVycy5jCTExIEZl YiAyMDA0IDA2OjU2OjExIC0wMDAwCkBAIC0xNTE5LDYgKzE1MTksODQgQEAKIH0KICN1bmRlZiBG VU5DX05BTUUKIAorc3RhdGljIHZvaWQKK2NvZXJjZV90b19iaWcoU0NNIGluLCBtcHpfdCBvdXQp Cit7CisgIGlmIChTQ01fQklHUChpbikpCisgICAgbXB6X3NldChvdXQsIFNDTV9JX0JJR19NUFoo aW4pKTsKKyAgZWxzZSBpZiAoU0NNX0lOVU1QKGluKSkKKyAgICB7CisgICAgICBtcHpfc2V0X3Np KG91dCwgU0NNX0lOVU0oaW4pKTsKKyAgICB9CisgIGVsc2UKKyAgICBzY21fd3JvbmdfdHlwZV9h cmcoIm1vZHVsby1leHB0IiwgMSwgaW4pOworfQorCitTQ01fREVGSU5FKHNjbV9tb2R1bGFyX2V4 cHQsICJtb2R1bG8tZXhwdCIsIDMsIDAsIDAsCisgICAgICAgICAgIChTQ00gbiwgU0NNIGssIFND TSBtKSwKKyAgICAgICAgICAgICJSZXR1cm4gQHZhcntufSByYWlzZWQgdG8gdGhlIG5vbi1uZWdh dGl2ZSBpbnRlZ2VyIGV4cG9uZW50XG4iCisJICAgICJAdmFye2t9LCBtb2R1bG8gQHZhcnttfS5c biIKKwkgICAgIlxuIgorCSAgICAiQGxpc3BcbiIKKwkgICAgIihtb2R1bG8tZXhwdCAyIDMgNSlc biIKKwkgICAgIiAgIEByZXN1bHR7fSAzXG4iCisJICAgICJAZW5kIGxpc3AiKQorI2RlZmluZSBG VU5DX05BTUUgc19zY21fbW9kdWxhcl9leHB0Cit7CisgIFNDTSByZXN1bHQgPSBzY21faV9ta2Jp ZygpOworICBtcHpfdCBuX3RtcDsgCisgIG1wel90IGtfdG1wOyAKKyAgbXB6X3QgbV90bXA7IAor ICBpbnQgbmVlZHNfaW52ZXJ0aW5nID0gMDsKKworICBpZiAoU0NNX05GQUxTRVAoc2NtX3plcm9f cChtKSkpIHsKKyAgICBzY21fbnVtX292ZXJmbG93KEZVTkNfTkFNRSk7CisgIH0KKyAgCisgIG1w el9pbml0KG5fdG1wKTsKKyAgbXB6X2luaXQoa190bXApOworICBtcHpfaW5pdChtX3RtcCk7CisK KyAgY29lcmNlX3RvX2JpZyhuLCBuX3RtcCk7CisgIGNvZXJjZV90b19iaWcoaywga190bXApOwor ICBjb2VyY2VfdG9fYmlnKG0sIG1fdG1wKTsKKyAgCisgIC8qIGlmIHRoZSBleHBvbmVudCBLIGlz IG5lZ2F0aXZlLCBhbmQgd2Ugc2ltcGx5IGNhbGwgbXB6X3Bvd20sIHdlCisgICAgIG1pZ2h0IHdl bGwgZ2V0IGEgZGl2aWRlLWJ5LXplcm8gZXhjZXB0aW9uLiAgU2luY2UgdGhvc2UgYXJlIGhhcmQK KyAgICAgdG8gaGFuZGxlLCB3ZSdsbCBkbyB0aGUgaW52ZXJzaW9uIG91cnNlbHZlcyAtLSBiZWNh dXNlIHRoYXQgd2F5CisgICAgIHdlIGdldCBhIHNpbXBsZSBmYWlsdXJlIGNvZGUsIHdoaWNoIGlz IGVhc3kgdG8gaGFuZGxlLiAqLworICAKKyAgaWYgKC0xID09IG1wel9zZ24oa190bXApKQorICAg IHsKKyAgICAgIG5lZWRzX2ludmVydGluZyA9IDE7CisgICAgICBtcHpfbmVnKGtfdG1wLCBrX3Rt cCk7CisgICAgfQorCisgIG1wel9wb3dtIChTQ01fSV9CSUdfTVBaIChyZXN1bHQpLAorICAgICAg ICAgICAgbl90bXAsCisgICAgICAgICAgICBrX3RtcCwKKyAgICAgICAgICAgIG1fdG1wKTsKKwor ICBpZiAobmVlZHNfaW52ZXJ0aW5nKQorICAgIHsKKyAgICAgIG1wel90IGludmVydGVkOworICAg ICAgbXB6X2luaXQoaW52ZXJ0ZWQpOworICAgICAgaWYgKCFtcHpfaW52ZXJ0IChpbnZlcnRlZCwg U0NNX0lfQklHX01QWihyZXN1bHQpLCBtX3RtcCkpCisgICAgICAgIHsKKyAgICAgICAgICBtcHpf Y2xlYXIoaW52ZXJ0ZWQpOworICAgICAgICAgIHNjbV9udW1fb3ZlcmZsb3coRlVOQ19OQU1FKTsK KyAgICAgICAgfQorICAgICAgbXB6X3NldChTQ01fSV9CSUdfTVBaKHJlc3VsdCksIGludmVydGVk KTsKKyAgICAgIG1wel9jbGVhcihpbnZlcnRlZCk7CisgICAgfQorICBtcHpfY2xlYXIobV90bXAp OworICBtcHpfY2xlYXIoa190bXApOworICBtcHpfY2xlYXIobl90bXApOworCisgIHJldHVybiBz Y21faV9ub3JtYmlnIChyZXN1bHQpOworfQorI3VuZGVmIEZVTkNfTkFNRQorCiBTQ01fREVGSU5F IChzY21faW50ZWdlcl9leHB0LCAiaW50ZWdlci1leHB0IiwgMiwgMCwgMCwKICAgICAgICAgICAg IChTQ00gbiwgU0NNIGspLAogCSAgICAiUmV0dXJuIEB2YXJ7bn0gcmFpc2VkIHRvIHRoZSBub24t bmVnYXRpdmUgaW50ZWdlciBleHBvbmVudFxuIgpJbmRleDogZ3VpbGUtY29yZS9saWJndWlsZS9u dW1iZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvZ3VpbGUvZ3VpbGUvZ3VpbGUt Y29yZS9saWJndWlsZS9udW1iZXJzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzcKZGlmZiAt dyAtdSAtcjEuNzcgbnVtYmVycy5oCi0tLSBndWlsZS1jb3JlL2xpYmd1aWxlL251bWJlcnMuaAkx OCBOb3YgMjAwMyAxOTo1OTo1MSAtMDAwMAkxLjc3CisrKyBndWlsZS1jb3JlL2xpYmd1aWxlL251 bWJlcnMuaAkxMSBGZWIgMjAwNCAwNjo1NjoxMSAtMDAwMApAQCAtMjAxLDYgKzIwMSw3IEBACiBT Q01fQVBJIFNDTSBzY21fbG9ndGVzdCAoU0NNIG4xLCBTQ00gbjIpOwogU0NNX0FQSSBTQ00gc2Nt X2xvZ2JpdF9wIChTQ00gbjEsIFNDTSBuMik7CiBTQ01fQVBJIFNDTSBzY21fbG9nbm90IChTQ00g bik7CitTQ01fQVBJIFNDTSBzY21fbW9kdWxhcl9leHB0IChTQ00gbiwgU0NNIGssIFNDTSBtKTsK IFNDTV9BUEkgU0NNIHNjbV9pbnRlZ2VyX2V4cHQgKFNDTSB6MSwgU0NNIHoyKTsKIFNDTV9BUEkg U0NNIHNjbV9hc2ggKFNDTSBuLCBTQ00gY250KTsKIFNDTV9BUEkgU0NNIHNjbV9iaXRfZXh0cmFj dCAoU0NNIG4sIFNDTSBzdGFydCwgU0NNIGVuZCk7Cg== --=-=-= -- Hamburgers! The cornerstone of any nutritious breakfast. -- Jules {From "Pulp Fiction"} --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel --=-=-=--