[PATCH branch-1.6] eval: Speed up exponentiation
Eric Blake via M4-patches <[email protected]> Sat, 17 May 2025 18:28:59 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
SW5zdGVhZCBvZiBPKG4pIGluIHRoZSB2YWx1ZSBvZiB0aGUgZXhwb25lbnQsIHdlIGNhbiBjb21w dXRlIGV4cG9uZW50cwppbiBPKGxvZyBuKSwgd2l0aCBleHBvbmVudGlhdGlvbiBieSBzcXVhcmlu Zy4gIFdpdGggdGhpcyBwYXRjaCwgInRpbWUKZWNobyAnZXZhbCgzKioyMDAwMDAwMDAwKScgfCBt NCIgZHJvcHMgZnJvbSAyIHNlY29uZHMgdG8gdW5kZXIgMTAKbWlsbGlzZWNvbmRzLgoKKiBzcmMv ZXZhbC5jIChwYXJzZV9leHByKTogVXNlIGV4cG9uZW50aWF0aW9uIGJ5IHNxdWFyaW5nLgoqIGRv Yy9tNC50ZXhpIChFdmFsKTogVGVzdCBpdC4KLS0tCiBkb2MvbTQudGV4aSB8IDE2ICsrKysrKysr KysrKysrKysKIHNyYy9ldmFsLmMgIHwgMTcgKysrKysrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mv bTQudGV4aSBiL2RvYy9tNC50ZXhpCmluZGV4IDgxNDc2YmM4Li42MTJlZDk0NSAxMDA2NDQKLS0t IGEvZG9jL200LnRleGkKKysrIGIvZG9jL200LnRleGkKQEAgLTcyMzUsNiArNzIzNSwyMiBAQCBF dmFsCiBAcmVzdWx0e30KIEBlbmQgZXhhbXBsZQoKK0BpZ25vcmUKK0Bjb21tZW50IFRoaXMgdGVz dCBtYWtlcyBzdXJlIHRoZSBhbGdvcml0aG0gaXMgZmFzdCwgYnV0IGRvZXMgbm90CitAY29tbWVu dCBuZWVkIHRvIGJlIGRpc3BsYXllZCBhcy1pcyBpbiB0aGUgbWFudWFsLgorCitAZXhhbXBsZQor ZXZhbChgMyoqMjAwMDAwMDAwMCcpCitAcmVzdWx0e302MzIzNjA5NjEKK2RlZmluZShgbG9vcCcs IGBpZmVsc2UoYCQxJywgYDEwMDAnLCBgcGFzcycsCitgbG9vcChldmFsKCQxKyEhKDMqKjIwMDAw MDAwMDApKSknKScpbG9vcCgwKQorQHJlc3VsdHt9cGFzcworZGVmaW5lKGBjaGVjaycsIGBpZmVs c2UoYCQxJywgYDEwMCcsIGBwYXNzJywgYCQyJywgZXZhbCgtMyoqJDEpLAorYGNoZWNrKGluY3Io JDEpLCBldmFsKC0zKiQyKSknLCBgb29wcycpJyljaGVjaygwLCAxKQorQHJlc3VsdHt9cGFzcwor QGVuZCBleGFtcGxlCitAZW5kIGlnbm9yZQorCiBXaXRoaW4gQHZhcntleHByZXNzaW9ufSwgKGJ1 dCBub3QgQHZhcntyYWRpeH0gb3IgQHZhcnt3aWR0aH0pLCBudW1iZXJzCiB3aXRob3V0IGEgc3Bl Y2lhbCBwcmVmaXggYXJlIGRlY2ltYWwuICBBIHNpbXBsZSBAc2FtcHswfSBwcmVmaXgKIGludHJv ZHVjZXMgYW4gb2N0YWwgbnVtYmVyLiAgQHNhbXB7MHh9IGludHJvZHVjZXMgYSBoZXhhZGVjaW1h bCBudW1iZXIuCmRpZmYgLS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2YWwuYwppbmRleCAxNjNl MjYzNC4uNjljZDVlNDEgMTAwNjQ0Ci0tLSBhL3NyYy9ldmFsLmMKKysrIGIvc3JjL2V2YWwuYwpA QCAtMzg5LDYgKzM4OSw4IEBAIHBhcnNlX2V4cHIgKGludDMyX3QgKnYxLCBldmFsX2Vycm9yIGVy LCB1bnNpZ25lZCBtaW5fcHJlYykKICAgaW50MzJfdCB2MjsKICAgaW50MzJfdCB2MzsKICAgdWlu dDMyX3QgdTE7CisgIHVpbnQzMl90IHUyOworICB1aW50MzJfdCB1MzsKCiAgIGlmIChlciA+PSBT WU5UQVhfRVJST1IpCiAgICAgcmV0dXJuIGVyOwpAQCAtNDI5LDE3ICs0MzEsMjQgQEAgcGFyc2Vf ZXhwciAoaW50MzJfdCAqdjEsIGV2YWxfZXJyb3IgZXIsIHVuc2lnbmVkIG1pbl9wcmVjKQogICAg ICAgICAgICAgIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uLWRlZmluZWQgb3ZlcmZsb3cgd2hlbiBj YXN0aW5nCiAgICAgICAgICAgICAgdW5zaWduZWQgdG8gc2lnbmVkIGlzIGEgc2lsZW50IHR3b3Mt Y29tcGxlbWVudAogICAgICAgICAgICAgIHdyYXAtYXJvdW5kLiAgKi8KLSAgICAgICAgICB1MSA9 IDE7CiAgICAgICAgICAgaWYgKHYyIDwgMCkKICAgICAgICAgICAgIGVyID0gTkVHQVRJVkVfRVhQ T05FTlQ7CiAgICAgICAgICAgZWxzZSBpZiAoKnYxID09IDAgJiYgdjIgPT0gMCkKICAgICAgICAg ICAgIGVyID0gRElWSURFX1pFUk87CiAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewotICAg ICAgICAgICAgICB3aGlsZSAodjItLSA+IDApCi0gICAgICAgICAgICAgICAgdTEgKj0gKHVpbnQz Ml90KSAqdjE7CisgICAgICAgICAgICAgIHUxID0gKnYxOworICAgICAgICAgICAgICB1MiA9IHYy OworICAgICAgICAgICAgICB1MyA9IDE7CisgICAgICAgICAgICAgIHdoaWxlICh1MikKKyAgICAg ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBpZiAodTIgJiAxKQorICAgICAgICAgICAg ICAgICAgICB1MyAqPSB1MTsKKyAgICAgICAgICAgICAgICAgIHUxICo9IHUxOworICAgICAgICAg ICAgICAgICAgdTIgPj49IDE7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAg ICAgICAgICp2MSA9IHUxOworICAgICAgICAgICp2MSA9IHUzOwogICAgICAgICAgIGJyZWFrOwoK ICAgICAgICAgY2FzZSBUSU1FUzoKLS0gCjIuNDkuMAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCk00LXBhdGNoZXMgbWFpbGluZyBsaXN0Ck00LXBhdGNo ZXNAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9tNC1wYXRj aGVzCg==