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: Sun, 21 Mar 2004 16:01:29 -0800 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87u10hoili.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> <87lln8lwue.fsf@offby1.atm01.sea.blarg.net> <8765czp64o.fsf@zagadka.ping.de> <87hdwj4334.fsf@zip.com.au> <87d677hr1k.fsf@zagadka.ping.de> <87ekrloncu.fsf@zip.com.au> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1079913885 17102 80.91.224.253 (22 Mar 2004 00:04:45 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 22 Mar 2004 00:04:45 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Mar 22 01:04: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 1B5Cvk-0000E0-00 for ; Mon, 22 Mar 2004 01:04:36 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B5CtY-000439-LI for guile-devel@m.gmane.org; Sun, 21 Mar 2004 19:02:20 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1B5CtO-00042g-VK for guile-devel@gnu.org; Sun, 21 Mar 2004 19:02:10 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1B5Css-0003vV-Hw for guile-devel@gnu.org; Sun, 21 Mar 2004 19:02:09 -0500 Original-Received: from [80.91.224.249] (helo=main.gmane.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B5Csr-0003tY-O5 for guile-devel@gnu.org; Sun, 21 Mar 2004 19:01:37 -0500 Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1B5Csm-0002zv-00 for ; Mon, 22 Mar 2004 01:01:32 +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 ; Mon, 22 Mar 2004 01:01:32 +0100 Original-Received: from offby1 by offby1.atm01.sea.blarg.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 22 Mar 2004 01:01:32 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: guile-devel@gnu.org Original-Lines: 136 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:dd5estxu9PdQRaNHqCnBLtlBH7w= X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.4 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:3552 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3552 --=-=-= I'm never sure if my posts are getting to this list, so my apologies if this appears twice. Here's the latest & greatest (which I think is unchanged from my last post). Alas, I have not filled in the paperwork, and can't remember what I'm supposed to do. Is there a standard form, or what? --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=patch Content-Transfer-Encoding: base64 Content-Description: modular exponentiation patch SW5kZXg6IGxpYmd1aWxlL251bWJlcnMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9n dWlsZS9ndWlsZS9ndWlsZS1jb3JlL2xpYmd1aWxlL251bWJlcnMuYyx2CnJldHJpZXZpbmcgcmV2 aXNpb24gMS4yMjQKZGlmZiAtdyAtdSAtcjEuMjI0IG51bWJlcnMuYwotLS0gbGliZ3VpbGUvbnVt YmVycy5jCTI4IEZlYiAyMDA0IDIwOjAxOjEzIC0wMDAwCTEuMjI0CisrKyBsaWJndWlsZS9udW1i ZXJzLmMJMjEgTWFyIDIwMDQgMjI6NTA6NTAgLTAwMDAKQEAgLTE1MjgsNiArMTUyOCwxMjAgQEAK IH0KICN1bmRlZiBGVU5DX05BTUUKIAorLyogcmV0dXJucyAwIGlmIElOIGlzIG5vdCBhbiBpbnRl Z2VyLiAgT1VUIG11c3QgYWxyZWFkeSBiZQorICAgaW5pdGlhbGl6ZWQuICovCitzdGF0aWMgaW50 Citjb2VyY2VfdG9fYmlnIChTQ00gaW4sIG1wel90IG91dCkKK3sKKyAgaWYgKFNDTV9CSUdQIChp bikpCisgICAgbXB6X3NldCAob3V0LCBTQ01fSV9CSUdfTVBaIChpbikpOworICBlbHNlIGlmIChT Q01fSU5VTVAgKGluKSkKKyAgICBtcHpfc2V0X3NpIChvdXQsIFNDTV9JTlVNIChpbikpOworICBl bHNlCisgICAgcmV0dXJuIDA7CisKKyAgcmV0dXJuIDE7Cit9CisKK1NDTV9ERUZJTkUgKHNjbV9t b2R1bGFyX2V4cHQsICJtb2R1bG8tZXhwdCIsIDMsIDAsIDAsCisgICAgICAgICAgICAoU0NNIG4s IFNDTSBrLCBTQ00gbSksCisgICAgICAgICAgICAiUmV0dXJuIEB2YXJ7bn0gcmFpc2VkIHRvIHRo ZSBpbnRlZ2VyIGV4cG9uZW50XG4iCisJICAgICJAdmFye2t9LCBtb2R1bG8gQHZhcnttfS5cbiIK KwkgICAgIlxuIgorCSAgICAiQGxpc3BcbiIKKwkgICAgIihtb2R1bG8tZXhwdCAyIDMgNSlcbiIK KwkgICAgIiAgIEByZXN1bHR7fSAzXG4iCisJICAgICJAZW5kIGxpc3AiKQorI2RlZmluZSBGVU5D X05BTUUgc19zY21fbW9kdWxhcl9leHB0Cit7CisgIG1wel90IG5fdG1wOyAKKyAgbXB6X3Qga190 bXA7IAorICBtcHpfdCBtX3RtcDsgCisgICAgCisgIC8qIFRoZXJlIGFyZSB0d28gY2xhc3NlcyBv ZiBlcnJvciB3ZSBtaWdodCBlbmNvdW50ZXIgLS0KKyAgICAgMSkgTWF0aCBlcnJvcnMsIHdoaWNo IHdlJ2xsIHJlcG9ydCBieSBjYWxsaW5nIHNjbV9udW1fb3ZlcmZsb3csCisgICAgIGFuZAorICAg ICAyKSB3cm9uZy10eXBlIGVycm9ycywgd2hpY2ggb2YgY291cnNlIHdlJ2xsIHJlcG9ydCBieSBj YWxsaW5nCisgICAgIFNDTV9XUk9OR19UWVBFX0FSRy4KKyAgICAgV2UgZG9uJ3QgcmVwb3J0IHRo b3NlIGVycm9ycyBpbW1lZGlhdGVseSwgaG93ZXZlcjsgaW5zdGVhZCB3ZSBkbworICAgICBzb21l IGNsZWFudXAgZmlyc3QuICBUaGVzZSB2YXJpYWJsZXMgdGVsbCB1cyB3aGljaCBlcnJvciAoaWYK KyAgICAgYW55KSB3ZSBzaG91bGQgcmVwb3J0IGFmdGVyIGNsZWFuaW5nIHVwLiAgCisgICovCisg IGludCByZXBvcnRfb3ZlcmZsb3cgPSAwOworCisgIGludCBwb3NpdGlvbl9vZl93cm9uZ190eXBl ID0gMDsKKyAgU0NNIHZhbHVlX29mX3dyb25nX3R5cGUgPSBTQ01fSU5VTTA7CisKKyAgU0NNIHJl c3VsdCA9IFNDTV9VTkRFRklORUQ7CisKKyAgbXB6X2luaXQgKG5fdG1wKTsKKyAgbXB6X2luaXQg KGtfdG1wKTsKKyAgbXB6X2luaXQgKG1fdG1wKTsKKyAgICAKKyAgaWYgKFNDTV9FUV9QIChtLCBT Q01fSU5VTTApKQorICAgIHsKKyAgICAgIHJlcG9ydF9vdmVyZmxvdyA9IDE7CisgICAgICBnb3Rv IGNsZWFudXA7CisgICAgfQorICAKKyAgaWYgKCFjb2VyY2VfdG9fYmlnIChuLCBuX3RtcCkpCisg ICAgeworICAgICAgdmFsdWVfb2Zfd3JvbmdfdHlwZSA9IG47CisgICAgICBwb3NpdGlvbl9vZl93 cm9uZ190eXBlID0gMTsKKyAgICAgIGdvdG8gY2xlYW51cDsKKyAgICB9CisKKyAgaWYgKCFjb2Vy Y2VfdG9fYmlnIChrLCBrX3RtcCkpCisgICAgeworICAgICAgdmFsdWVfb2Zfd3JvbmdfdHlwZSA9 IGs7CisgICAgICBwb3NpdGlvbl9vZl93cm9uZ190eXBlID0gMjsKKyAgICAgIGdvdG8gY2xlYW51 cDsKKyAgICB9CisKKyAgaWYgKCFjb2VyY2VfdG9fYmlnIChtLCBtX3RtcCkpCisgICAgeworICAg ICAgdmFsdWVfb2Zfd3JvbmdfdHlwZSA9IG07CisgICAgICBwb3NpdGlvbl9vZl93cm9uZ190eXBl ID0gMzsKKyAgICAgIGdvdG8gY2xlYW51cDsKKyAgICB9CisKKyAgLyogaWYgdGhlIGV4cG9uZW50 IEsgaXMgbmVnYXRpdmUsIGFuZCB3ZSBzaW1wbHkgY2FsbCBtcHpfcG93bSwgd2UKKyAgICAgd2ls bCBnZXQgYSBkaXZpZGUtYnktemVybyBleGNlcHRpb24gd2hlbiBhbiBpbnZlcnNlIDEvbiBtb2Qg bQorICAgICBkb2Vzbid0IGV4aXN0IChvciBpcyBub3QgdW5pcXVlKS4gIFNpbmNlIGV4Y2VwdGlv bnMgYXJlIGhhcmQgdG8KKyAgICAgaGFuZGxlLCB3ZSdsbCBhdHRlbXB0IHRoZSBpbnZlcnNpb24g ImJ5IGhhbmQiIC0tIHRoYXQgd2F5LCB3ZSBnZXQKKyAgICAgYSBzaW1wbGUgZmFpbHVyZSBjb2Rl LCB3aGljaCBpcyBlYXN5IHRvIGhhbmRsZS4gKi8KKyAgCisgIGlmICgtMSA9PSBtcHpfc2duIChr X3RtcCkpCisgICAgeworICAgICAgaWYgKCFtcHpfaW52ZXJ0IChuX3RtcCwgbl90bXAsIG1fdG1w KSkKKyAgICAgICAgeworICAgICAgICAgIHJlcG9ydF9vdmVyZmxvdyA9IDE7CisgICAgICAgICAg Z290byBjbGVhbnVwOworICAgICAgICB9CisgICAgICBtcHpfbmVnIChrX3RtcCwga190bXApOwor ICAgIH0KKworICByZXN1bHQgPSBzY21faV9ta2JpZyAoKTsKKyAgbXB6X3Bvd20gKFNDTV9JX0JJ R19NUFogKHJlc3VsdCksCisgICAgICAgICAgICBuX3RtcCwKKyAgICAgICAgICAgIGtfdG1wLAor ICAgICAgICAgICAgbV90bXApOworIGNsZWFudXA6CisgIG1wel9jbGVhciAobV90bXApOworICBt cHpfY2xlYXIgKGtfdG1wKTsKKyAgbXB6X2NsZWFyIChuX3RtcCk7CisKKyAgaWYgKHJlcG9ydF9v dmVyZmxvdykKKyAgICBzY21fbnVtX292ZXJmbG93IChGVU5DX05BTUUpOworCisgIGlmIChwb3Np dGlvbl9vZl93cm9uZ190eXBlKQorICAgIFNDTV9XUk9OR19UWVBFX0FSRyAocG9zaXRpb25fb2Zf d3JvbmdfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX29mX3dyb25nX3R5cGUp OworICAKKyAgcmV0dXJuIHNjbV9pX25vcm1iaWcgKHJlc3VsdCk7Cit9CisjdW5kZWYgRlVOQ19O QU1FCisKIFNDTV9ERUZJTkUgKHNjbV9pbnRlZ2VyX2V4cHQsICJpbnRlZ2VyLWV4cHQiLCAyLCAw LCAwLAogICAgICAgICAgICAgKFNDTSBuLCBTQ00gayksCiAJICAgICJSZXR1cm4gQHZhcntufSBy YWlzZWQgdG8gdGhlIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGV4cG9uZW50XG4iCkluZGV4OiBsaWJn dWlsZS9udW1iZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvZ3VpbGUvZ3VpbGUv Z3VpbGUtY29yZS9saWJndWlsZS9udW1iZXJzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzcK ZGlmZiAtdyAtdSAtcjEuNzcgbnVtYmVycy5oCi0tLSBsaWJndWlsZS9udW1iZXJzLmgJMTggTm92 IDIwMDMgMTk6NTk6NTEgLTAwMDAJMS43NworKysgbGliZ3VpbGUvbnVtYmVycy5oCTIxIE1hciAy MDA0IDIyOjUwOjUwIC0wMDAwCkBAIC0yMDEsNiArMjAxLDcgQEAKIFNDTV9BUEkgU0NNIHNjbV9s b2d0ZXN0IChTQ00gbjEsIFNDTSBuMik7CiBTQ01fQVBJIFNDTSBzY21fbG9nYml0X3AgKFNDTSBu MSwgU0NNIG4yKTsKIFNDTV9BUEkgU0NNIHNjbV9sb2dub3QgKFNDTSBuKTsKK1NDTV9BUEkgU0NN IHNjbV9tb2R1bGFyX2V4cHQgKFNDTSBuLCBTQ00gaywgU0NNIG0pOwogU0NNX0FQSSBTQ00gc2Nt X2ludGVnZXJfZXhwdCAoU0NNIHoxLCBTQ00gejIpOwogU0NNX0FQSSBTQ00gc2NtX2FzaCAoU0NN IG4sIFNDTSBjbnQpOwogU0NNX0FQSSBTQ00gc2NtX2JpdF9leHRyYWN0IChTQ00gbiwgU0NNIHN0 YXJ0LCBTQ00gZW5kKTsKLS0tIC9kZXYvbnVsbAkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAw MCAtMDgwMAorKysgdGVzdC1zdWl0ZS90ZXN0cy9tZXhwLnRlc3QJMjAwNC0wMi0xNCAxMDoyMTo1 NS4wMDAwMDAwMDAgLTA4MDAKQEAgLTAsMCArMSw1OCBAQAorOzs7OyBtZXhwLnRlc3QgLS0tIHRl c3Qgc3VpdGUgZm9yIEd1aWxlJ3MgbW9kdWxhciBleHBvbmVudGlhdGlvbiBmdW5jdGlvbnMgICAg LSotIHNjaGVtZSAtKi0KKzs7OzsgRXJpYyBIYW5jaHJvdyA8b2ZmYnkxQGJsYXJnLm5ldD4gLS0t IEphbnVhcnkgMjAwNAorOzs7OworOzs7OyBDb3B5cmlnaHQgKEMpIDIwMDQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCis7Ozs7IAorOzs7OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzs7OyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorOzs7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy LCBvciAoYXQgeW91ciBvcHRpb24pCis7Ozs7IGFueSBsYXRlciB2ZXJzaW9uLgorOzs7OyAKKzs7 OzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCis7Ozs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCis7Ozs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7OzsgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKzs7OzsgCis7Ozs7IFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7Ozs7IGFs b25nIHdpdGggdGhpcyBzb2Z0d2FyZTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdy aXRlIHRvCis7Ozs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs ZSBQbGFjZSwgU3VpdGUgMzMwLAorOzs7OyBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCisKKzs7 IFlvdSBjYW4gZWFzaWx5IGRvdWJsZS1jaGVjayB0aGVzZSBudW1iZXJzIGJ5IHVzaW5nIHBlcmwg d2l0aCB0aGUgTWF0aDo6QmlnSW50OjpHTVAgbGlicmFyeS4KKyh3aXRoLXRlc3QtcHJlZml4ICJt b2R1bG8tZXhwdCIKKyAgIChwYXNzLWlmICg9IDEgKG1vZHVsby1leHB0IDE3IDIzIDQ3KSkpCisg ICAKKyAgIChwYXNzLWlmICg9IDEgKG1vZHVsby1leHB0IDE3IC0yMyA0NykpKQorICAgCisgICAo cGFzcy1pZiAoPSAxNyAobW9kdWxvLWV4cHQgMTcgLTIyIDQ3KSkpCisgICAKKyAgIChwYXNzLWlm ICg9IDM2IChtb2R1bG8tZXhwdCAxNyAyMiA0NykpKQorICAgCisgICAocGFzcy1pZiAoPSAxODM2 NTg3OTQ0Nzk5NjkxMzQ4MTY2NzQxNzUwODIyOTQ4NDYyNDE1NTM3MjUyNDAgKG1vZHVsby1leHB0 IDExMTEyMjIyMzMzMzQ0NDQ1NTU1NjY2NiAxMTExMjIyMjMzMzM0NDQ0NTU1NTY2NjYgMTE1MzQ3 ODY5MDAxMjYyOTk2ODQzOTQzMjg3MjUyMDc1ODk4MjczMTAyMjkzNDcxNykpKQorCisgICAocGFz cy1pZi1leGNlcHRpb24KKyAgICAiUHJvcGVyIGV4Y2VwdGlvbiB3aXRoIDAgbW9kdWx1cyIKKyAg ICAoY29ucyAnbnVtZXJpY2FsLW92ZXJmbG93ICIiKQorICAgIChtb2R1bG8tZXhwdCAxNyAyMyAw KSkKKworICAgKHBhc3MtaWYtZXhjZXB0aW9uCisgICAgIlByb3BlciBleGNlcHRpb24gd2hlbiBy ZXN1bHQgbm90IGludmVydGlibGUiCisgICAgKGNvbnMgJ251bWVyaWNhbC1vdmVyZmxvdyAiIikK KyAgICAobW9kdWxvLWV4cHQgMTAgLTEgNDgpKQorCisgICAocGFzcy1pZi1leGNlcHRpb24KKyAg ICAiUHJvcGVyIGV4Y2VwdGlvbiB3aXRoIHdyb25nIHR5cGUgYXJndW1lbnQiCisgICAgKGNvbnMg J3dyb25nLXR5cGUtYXJnICIiKQorICAgIChtb2R1bG8tZXhwdCAiU2FtIiAyMyAxMCkpCisKKyAg IChwYXNzLWlmLWV4Y2VwdGlvbgorICAgICJQcm9wZXIgZXhjZXB0aW9uIHdpdGggd3JvbmcgdHlw ZSBhcmd1bWVudCIKKyAgICAoY29ucyAnd3JvbmctdHlwZS1hcmcgIiIpCisgICAgKG1vZHVsby1l eHB0IDE3IDkuOSAxMCkpCisgICAKKyAgICAocGFzcy1pZi1leGNlcHRpb24KKyAgICAiUHJvcGVy IGV4Y2VwdGlvbiB3aXRoIHdyb25nIHR5cGUgYXJndW1lbnQiCisgICAgKGNvbnMgJ3dyb25nLXR5 cGUtYXJnICIiKQorICAgIChtb2R1bG8tZXhwdCAxNyAyMyAnRXRoZWwpKQorICAgCispCg== --=-=-= -- Governing the U.S. is like playing 200 simultaneous chess matches (while whiny columnists second-guess every move on every board). -- Nicholas Kristof, New York Times columnist --=-=-= 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 --=-=-=--