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: Wed, 11 Feb 2004 20:56:25 -0800 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87lln8lwue.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> <87ad3qm76l.fsf@offby1.atm01.sea.blarg.net> <87vfmdfaga.fsf@zip.com.au> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1076561924 32755 80.91.224.253 (12 Feb 2004 04:58:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 12 Feb 2004 04:58:44 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Feb 12 05:58:36 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 1Ar8vr-00037F-01 for ; Thu, 12 Feb 2004 05:58:35 +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 1Ar8uX-0000kU-8U for guile-devel@m.gmane.org; Wed, 11 Feb 2004 23:57:13 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1Ar8uN-0000kN-Mq for guile-devel@gnu.org; Wed, 11 Feb 2004 23:57:03 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1Ar8tr-0000bo-Jb for guile-devel@gnu.org; Wed, 11 Feb 2004 23:57:02 -0500 Original-Received: from [80.91.224.249] (helo=main.gmane.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1Ar8tr-0000b5-0Y for guile-devel@gnu.org; Wed, 11 Feb 2004 23:56:31 -0500 Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1Ar8tp-0006R6-00 for ; Thu, 12 Feb 2004 05:56:29 +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 ; Thu Feb 12 04:56:29 2004 Original-Received: from offby1 by offby1.atm01.sea.blarg.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu Feb 12 04:56:29 2004 X-Injected-Via-Gmane: http://gmane.org/ Original-To: guile-devel@gnu.org Original-Lines: 106 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:JROFOXMtHINSoW/nypW9RCqtgpc= 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:3364 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3364 --=-=-= Latest version. I think I've incorporated every suggestion that Kevin has made (thanks for your patience, Kevin). --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=diffs Content-Transfer-Encoding: base64 Content-Description: modulo-expt path PyBsaWJndWlsZS9ndWlsZS5pbmZvCj8gbGliZ3VpbGUvbGl0dGxlLXRlc3Quc2NtCj8gdGVzdC1z dWl0ZS90ZXN0cy9obW0ucGwKPyB0ZXN0LXN1aXRlL3Rlc3RzL21leHAudGVzdApJbmRleDogbGli Z3VpbGUvbnVtYmVycy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2d1aWxlL2d1aWxl L2d1aWxlLWNvcmUvbGliZ3VpbGUvbnVtYmVycy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIy MQpkaWZmIC13IC11IC1yMS4yMjEgbnVtYmVycy5jCi0tLSBsaWJndWlsZS9udW1iZXJzLmMJNiBK YW4gMjAwNCAyMTo1NToyOSAtMDAwMAkxLjIyMQorKysgbGliZ3VpbGUvbnVtYmVycy5jCTEyIEZl YiAyMDA0IDA0OjUyOjI2IC0wMDAwCkBAIC0xNTE5LDYgKzE1MTksNzYgQEAKIH0KICN1bmRlZiBG VU5DX05BTUUKIAorc3RhdGljIHZvaWQKK2NvZXJjZV90b19iaWcgKFNDTSBpbiwgbXB6X3Qgb3V0 KQoreworICBpZiAoU0NNX0JJR1AgKGluKSkKKyAgICBtcHpfaW5pdF9zZXQgKG91dCwgU0NNX0lf QklHX01QWiAoaW4pKTsKKyAgZWxzZSBpZiAoU0NNX0lOVU1QIChpbikpCisgICAgbXB6X2luaXRf c2V0X3NpIChvdXQsIFNDTV9JTlVNIChpbikpOworICBlbHNlCisgICAgc2NtX3dyb25nX3R5cGVf YXJnICgibW9kdWxvLWV4cHQiLCAxLCBpbik7Cit9CisKK1NDTV9ERUZJTkUgKHNjbV9tb2R1bGFy X2V4cHQsICJtb2R1bG8tZXhwdCIsIDMsIDAsIDAsCisgICAgICAgICAgICAoU0NNIG4sIFNDTSBr LCBTQ00gbSksCisgICAgICAgICAgICAiUmV0dXJuIEB2YXJ7bn0gcmFpc2VkIHRvIHRoZSBpbnRl Z2VyIGV4cG9uZW50XG4iCisJICAgICJAdmFye2t9LCBtb2R1bG8gQHZhcnttfS5cbiIKKwkgICAg IlxuIgorCSAgICAiQGxpc3BcbiIKKwkgICAgIihtb2R1bG8tZXhwdCAyIDMgNSlcbiIKKwkgICAg IiAgIEByZXN1bHR7fSAzXG4iCisJICAgICJAZW5kIGxpc3AiKQorI2RlZmluZSBGVU5DX05BTUUg c19zY21fbW9kdWxhcl9leHB0Cit7CisgIG1wel90IG5fdG1wOyAKKyAgbXB6X3Qga190bXA7IAor ICBtcHpfdCBtX3RtcDsgCisKKyAgaW50IHJlcG9ydF9vdmVyZmxvdyA9IDA7CisKKyAgU0NNIHJl c3VsdCA9IFNDTV9VTkRFRklORUQ7CisgIAorICBpZiAoU0NNX05GQUxTRVAgKHNjbV96ZXJvX3Ag KG0pKSkKKyAgICBzY21fbnVtX292ZXJmbG93IChGVU5DX05BTUUpOworICAKKyAgY29lcmNlX3Rv X2JpZyAobiwgbl90bXApOworICBjb2VyY2VfdG9fYmlnIChrLCBrX3RtcCk7CisgIGNvZXJjZV90 b19iaWcgKG0sIG1fdG1wKTsKKyAgCisgIC8qIGlmIHRoZSBleHBvbmVudCBLIGlzIG5lZ2F0aXZl LCBhbmQgd2Ugc2ltcGx5IGNhbGwgbXB6X3Bvd20sIHdlCisgICAgIHdpbGwgZ2V0IGEgZGl2aWRl LWJ5LXplcm8gZXhjZXB0aW9uIHdoZW4gYW4gaW52ZXJzZSAxL24gbW9kIG0KKyAgICAgZG9lc24n dCBleGlzdCAob3IgaXMgbm90IHVuaXF1ZSkuICBTaW5jZSBleGNlcHRpb25zIGFyZSBoYXJkIHRv CisgICAgIGhhbmRsZSwgd2UnbGwgYXR0ZW1wdCB0aGUgaW52ZXJzaW9uICJieSBoYW5kIiAtLSB0 aGF0IHdheSwgd2UgZ2V0CisgICAgIGEgc2ltcGxlIGZhaWx1cmUgY29kZSwgd2hpY2ggaXMgZWFz eSB0byBoYW5kbGUuICovCisgIAorICBpZiAoLTEgPT0gbXB6X3NnbiAoa190bXApKQorICAgIHsK KyAgICAgIGlmICghbXB6X2ludmVydCAobl90bXAsIG5fdG1wLCBtX3RtcCkpCisgICAgICAgIHsK KyAgICAgICAgICByZXBvcnRfb3ZlcmZsb3cgPSAxOworICAgICAgICAgIGdvdG8gY2xlYW51cDsK KyAgICAgICAgfQorICAgICAgbXB6X25lZyAoa190bXAsIGtfdG1wKTsKKyAgICB9CisKKyAgcmVz dWx0ID0gc2NtX2lfbWtiaWcgKCk7CisgIG1wel9wb3dtIChTQ01fSV9CSUdfTVBaIChyZXN1bHQp LAorICAgICAgICAgICAgbl90bXAsCisgICAgICAgICAgICBrX3RtcCwKKyAgICAgICAgICAgIG1f dG1wKTsKKyBjbGVhbnVwOgorICBtcHpfY2xlYXIgKG1fdG1wKTsKKyAgbXB6X2NsZWFyIChrX3Rt cCk7CisgIG1wel9jbGVhciAobl90bXApOworCisgIGlmIChyZXBvcnRfb3ZlcmZsb3cpCisgICAg c2NtX251bV9vdmVyZmxvdyAoRlVOQ19OQU1FKTsKKworICByZXR1cm4gc2NtX2lfbm9ybWJpZyAo cmVzdWx0KTsKK30KKyN1bmRlZiBGVU5DX05BTUUKKwogU0NNX0RFRklORSAoc2NtX2ludGVnZXJf ZXhwdCwgImludGVnZXItZXhwdCIsIDIsIDAsIDAsCiAgICAgICAgICAgICAoU0NNIG4sIFNDTSBr KSwKIAkgICAgIlJldHVybiBAdmFye259IHJhaXNlZCB0byB0aGUgbm9uLW5lZ2F0aXZlIGludGVn ZXIgZXhwb25lbnRcbiIKSW5kZXg6IGxpYmd1aWxlL251bWJlcnMuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3Zzcm9vdC9ndWlsZS9ndWlsZS9ndWlsZS1jb3JlL2xpYmd1aWxlL251bWJlcnMuaCx2 CnJldHJpZXZpbmcgcmV2aXNpb24gMS43NwpkaWZmIC13IC11IC1yMS43NyBudW1iZXJzLmgKLS0t IGxpYmd1aWxlL251bWJlcnMuaAkxOCBOb3YgMjAwMyAxOTo1OTo1MSAtMDAwMAkxLjc3CisrKyBs aWJndWlsZS9udW1iZXJzLmgJMTIgRmViIDIwMDQgMDQ6NTI6MjYgLTAwMDAKQEAgLTIwMSw2ICsy MDEsNyBAQAogU0NNX0FQSSBTQ00gc2NtX2xvZ3Rlc3QgKFNDTSBuMSwgU0NNIG4yKTsKIFNDTV9B UEkgU0NNIHNjbV9sb2diaXRfcCAoU0NNIG4xLCBTQ00gbjIpOwogU0NNX0FQSSBTQ00gc2NtX2xv Z25vdCAoU0NNIG4pOworU0NNX0FQSSBTQ00gc2NtX21vZHVsYXJfZXhwdCAoU0NNIG4sIFNDTSBr LCBTQ00gbSk7CiBTQ01fQVBJIFNDTSBzY21faW50ZWdlcl9leHB0IChTQ00gejEsIFNDTSB6Mik7 CiBTQ01fQVBJIFNDTSBzY21fYXNoIChTQ00gbiwgU0NNIGNudCk7CiBTQ01fQVBJIFNDTSBzY21f Yml0X2V4dHJhY3QgKFNDTSBuLCBTQ00gc3RhcnQsIFNDTSBlbmQpOwotLS0gL2Rldi9udWxsCTE5 NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKyB0ZXN0LXN1aXRlL3Rlc3RzL21l eHAudGVzdAkyMDA0LTAyLTEwIDE2OjM2OjU4LjAwMDAwMDAwMCAtMDgwMApAQCAtMCwwICsxLDQy IEBACis7Ozs7IG1leHAudGVzdCAtLS0gdGVzdCBzdWl0ZSBmb3IgR3VpbGUncyBtb2R1bGFyIGV4 cG9uZW50aWF0aW9uIGZ1bmN0aW9ucyAgICAtKi0gc2NoZW1lIC0qLQorOzs7OyBFcmljIEhhbmNo cm93IDxvZmZieTFAYmxhcmcubmV0PiAtLS0gSmFudWFyeSAyMDA0Cis7Ozs7Cis7Ozs7IENvcHly aWdodCAoQykgMjAwNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7OzsgCis7Ozs7 IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Cis7Ozs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7Ozs7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKKzs7OzsgYW55 IGxhdGVyIHZlcnNpb24uCis7Ozs7IAorOzs7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7OzsgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7OzsgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorOzs7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOzs7 OyAKKzs7OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKzs7OzsgYWxvbmcgd2l0aCB0aGlzIHNvZnR3YXJlOyBzZWUgdGhl IGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKzs7OzsgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsCis7Ozs7IEJvc3Rv biwgTUEgMDIxMTEtMTMwNyBVU0EKKworOzsgWW91IGNhbiBlYXNpbHkgZG91YmxlLWNoZWNrIHRo ZXNlIG51bWJlcnMgYnkgdXNpbmcgcGVybCB3aXRoIHRoZSBNYXRoOjpCaWdJbnQ6OkdNUCBsaWJy YXJ5LgorKHdpdGgtdGVzdC1wcmVmaXggIm1vZHVsby1leHB0IgorICAgKHBhc3MtaWYgKD0gMSAo bW9kdWxvLWV4cHQgMTcgMjMgNDcpKSkKKyAgIAorICAgKHBhc3MtaWYgKD0gMSAobW9kdWxvLWV4 cHQgMTcgLTIzIDQ3KSkpCisgICAKKyAgIChwYXNzLWlmICg9IDE3IChtb2R1bG8tZXhwdCAxNyAt MjIgNDcpKSkKKyAgIAorICAgKHBhc3MtaWYgKD0gMzYgKG1vZHVsby1leHB0IDE3IDIyIDQ3KSkp CisgICAKKyAgIChwYXNzLWlmICg9IDE4MzY1ODc5NDQ3OTk2OTEzNDgxNjY3NDE3NTA4MjI5NDg0 NjI0MTU1MzcyNTI0MCAobW9kdWxvLWV4cHQgMTExMTIyMjIzMzMzNDQ0NDU1NTU2NjY2IDExMTEy MjIyMzMzMzQ0NDQ1NTU1NjY2NiAxMTUzNDc4NjkwMDEyNjI5OTY4NDM5NDMyODcyNTIwNzU4OTgy NzMxMDIyOTM0NzE3KSkpCisKKyAgIChwYXNzLWlmLWV4Y2VwdGlvbgorICAgICJQcm9wZXIgZXhj ZXB0aW9uIHdpdGggMCBtb2R1bHVzIgorICAgIChjb25zICdudW1lcmljYWwtb3ZlcmZsb3cgIiIp CisgICAgKG1vZHVsby1leHB0IDE3IDIzIDApKQorCisgICAocGFzcy1pZi1leGNlcHRpb24KKyAg ICAiUHJvcGVyIGV4Y2VwdGlvbiB3aGVuIHJlc3VsdCBub3QgaW52ZXJ0aWJsZSIKKyAgICAoY29u cyAnbnVtZXJpY2FsLW92ZXJmbG93ICIiKQorICAgIChtb2R1bG8tZXhwdCAxMCAtMSA0OCkpCisp Cg== --=-=-= -- Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. John F. Woods --=-=-= 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 --=-=-=--