[PATCH] patches for MRING

11 views
Skip to first unread message

oldk1331

unread,
Jul 26, 2019, 7:15:15 AM7/26/19
to fricas...@googlegroups.com
The first patch fixes the problem that "construct" may modify
its argument subtly.

The second patch uses "construct" to greatly simplify "*" in MRING.

The third patch does some cleanup for MRING.
03-misc-cleanup-MRING.patch
02-cleanup-*-in-MRING.patch
01-fix-construct-in-MRING.patch

Waldek Hebisch

unread,
Jul 27, 2019, 6:33:02 AM7/27/19
to fricas...@googlegroups.com
oldk1331 wrote:
>
> The first patch fixes the problem that "construct" may modify
> its argument subtly.

OK, please commit.

> The second patch uses "construct" to greatly simplify "*" in MRING.

When M is ordered old code tries to minimize need for sorting.
It is hard to see if this really gains some speed but it
would be better to do some measurements and compare speed
of old code and your new one.

> The third patch does some cleanup for MRING.
>
> --
> You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/CAGBJN91PfWw_bZdJE7tU-qF%2BfEkQU7ani74rbWs%3DsfmxF0a-mQ%40mail.gmail.com.
>
> --0000000000000f583f058e93a8db
> Content-Type: text/html; charset="UTF-8"
> Content-Transfer-Encoding: quoted-printable
>
> <div dir=3D"auto">The first patch fixes the problem that &quot;construct&qu=
> ot; may modify<br>
> its argument subtly.<br>
> <br>
> The second patch uses &quot;construct&quot; to greatly simplify &quot;*&quo=
> t; in MRING.<br>
> <br>
> The third patch does some cleanup for MRING.<br></div>
>
> <p></p>
>
> -- <br />
> You received this message because you are subscribed to the Google Groups &=
> quot;FriCAS - computer algebra system&quot; group.<br />
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to <a href=3D"mailto:fricas-devel...@googlegroups.com">fricas=
> -devel+un...@googlegroups.com</a>.<br />
> To view this discussion on the web visit <a href=3D"https://groups.google.c=
> om/d/msgid/fricas-devel/CAGBJN91PfWw_bZdJE7tU-qF%2BfEkQU7ani74rbWs%3DsfmxF0=
> a-mQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://group=
> s.google.com/d/msgid/fricas-devel/CAGBJN91PfWw_bZdJE7tU-qF%2BfEkQU7ani74rbW=
> s%3DsfmxF0a-mQ%40mail.gmail.com</a>.<br />
>
> --0000000000000f583f058e93a8db--
> --0000000000000f5841058e93a8dd
> Content-Type: application/x-patch; name="03-misc-cleanup-MRING.patch"
> Content-Disposition: attachment; filename="03-misc-cleanup-MRING.patch"
> Content-Transfer-Encoding: base64
> Content-ID: <>
> X-Attachment-Id:
>
> ZGlmZiAtLWdpdCBhL3NyYy9hbGdlYnJhL21yaW5nLnNwYWQgYi9zcmMvYWxnZWJyYS9tcmluZy5z
> cGFkDQppbmRleCBhNDkwMGJlNy4uNzRiZDA5ZmMgMTAwNjQ0DQotLS0gYS9zcmMvYWxnZWJyYS9t
> cmluZy5zcGFkDQorKysgYi9zcmMvYWxnZWJyYS9tcmluZy5zcGFkDQpAQCAtOTYsOCArOTYsNyBA
> QCBNb25vaWRSaW5nKFIgOiBSaW5nLCBNIDogTW9ub2lkKSA6IE1vbm9pZFJpbmdDYXRlZ29yeShS
> LCBNKSA9PSBNUmRlZmluaXRpb24gd2hlcg0KICAgICAgICAgICByID0gMCA9PiBlbXB0eSgpDQog
> ICAgICAgICAgIFtbbSwgcl1dDQogDQotICAgICAgICBtb25vbWlhbD8oeCkgPT0NCi0gICAgICAg
> ICAgICAjKHJlcCh4KSkgPD0gMQ0KKyAgICAgICAgbW9ub21pYWw/KHgpID09IGVtcHR5PyB4IG9y
> IGVtcHR5PyByZXN0IHgNCiANCiAgICAgICAgIGlmIChSIGhhcyBGaW5pdGUgYW5kIE0gaGFzIEZp
> bml0ZSkgdGhlbg0KICAgICAgICAgICBzaXplKCkgPT0gc2l6ZSgpJFIgXiBzaXplKCkkTQ0KQEAg
> LTE0MCw3ICsxMzksOCBAQCBNb25vaWRSaW5nKFIgOiBSaW5nLCBNIDogTW9ub2lkKSA6IE1vbm9p
> ZFJpbmdDYXRlZ29yeShSLCBNKSA9PSBNUmRlZmluaXRpb24gd2hlcg0KIA0KICAgICAgICAgMCAg
> ICAgICAgICAgICAgICAgICA9PSBlbXB0eSgpDQogICAgICAgICAxICAgICAgICAgICAgICAgICAg
> ID09IFtbMSwgMV1dDQotLS0gICAgICAgIHRlcm1zIGEgICAgICAgICAgICAgPT0gKGNvcHkgYSkg
> cHJldGVuZCBMaXN0KFRlcm0pDQorICAgICAgICB6ZXJvPyBhID09IGVtcHR5PyBhDQorICAgICAg
> ICBvbmU/IGEgPT0gc2l6ZT8oYSwgMSkgYW5kIG9uZT8oYS5maXJzdC5DZikgYW5kIG9uZT8oYS5m
> aXJzdC5NbikNCiAgICAgICAgIHRlcm1zIGEgICAgICAgICAgICAgPT0gY29weSByZXAgYQ0KICAg
> ICAgICAgbW9ub21pYWxzIGEgICAgICAgICA9PSBbW3RdIGZvciB0IGluIGFdDQogICAgICAgICBj
> b2VmZmljaWVudHMgYSAgICAgID09IFt0LkNmIGZvciB0IGluIGFdDQpAQCAtMTU4LDE5ICsxNTgs
> MjMgQEAgTW9ub2lkUmluZyhSIDogUmluZywgTSA6IE1vbm9pZCkgOiBNb25vaWRSaW5nQ2F0ZWdv
> cnkoUiwgTSkgPT0gTVJkZWZpbml0aW9uIHdoZXINCiAgICAgICAgICAgIHRoZW4NCiAgICAgICAg
> ICAgICAociA6IFIpICogKGEgOiAlKSA9PQ0KICAgICAgICAgICAgICAgciA9IDAgPT4gMA0KKyAg
> ICAgICAgICAgICAgb25lPyByID0+IGENCiAgICAgICAgICAgICAgIFtbdC5Nbiwgcip0LkNmXSBm
> b3IgdCBpbiBhXQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgIChyIDogUikgKiAoYSA6
> ICUpID09DQogICAgICAgICAgICAgICByID0gMCA9PiAwDQorICAgICAgICAgICAgICBvbmU/IHIg
> PT4gYQ0KICAgICAgICAgICAgICAgW1t0Lk1uLCBydF0gZm9yIHQgaW4gYSB8IChydCA6PSByKnQu
> Q2YpIH49IDBdDQogICAgICAgICBpZiBSIGhhcyBub1plcm9EaXZpc29ycw0KICAgICAgICAgICAg
> dGhlbg0KICAgICAgICAgICAgIChuIDogSW50ZWdlcikgKiAoYSA6ICUpID09DQogICAgICAgICAg
> ICAgICBuID0gMCA9PiAwDQorICAgICAgICAgICAgICBuID0gMSA9PiBhDQogICAgICAgICAgICAg
> ICBbW3QuTW4sIG4qdC5DZl0gZm9yIHQgaW4gYV0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAg
> ICAgICAobiA6IEludGVnZXIpICogKGEgOiAlKSA9PQ0KICAgICAgICAgICAgICAgbiA9IDAgPT4g
> MA0KKyAgICAgICAgICAgICAgbiA9IDEgPT4gYQ0KICAgICAgICAgICAgICAgW1t0Lk1uLCBudF0g
> Zm9yIHQgaW4gYSB8IChudCA6PSBuKnQuQ2YpIH49IDBdDQogICAgICAgICBtYXAoZiwgYSkgICAg
> ICAgICAgID09IFtbdC5NbiwgZnRdIGZvciB0IGluIGEgfCAoZnQgOj0gZih0LkNmKSkgfj0gMF0N
> CiAgICAgICAgIG51bWJlck9mTW9ub21pYWxzIGEgPT0gI2ENCkBAIC0xODYsMTEgKzE5MCw5IEBA
> IE1vbm9pZFJpbmcoUiA6IFJpbmcsIE0gOiBNb25vaWQpIDogTW9ub2lkUmluZ0NhdGVnb3J5KFIs
> IE0pID09IE1SZGVmaW5pdGlvbiB3aGVyDQogICAgICAgICBpZiBSIGhhcyBub1plcm9EaXZpc29y
> cyB0aGVuDQogICAgICAgICAgIGlmIE0gaGFzIEdyb3VwIHRoZW4NCiAgICAgICAgICAgICByZWNp
> cCBhID09DQotICAgICAgICAgICAgICBsdCA6PSB0ZXJtcyBhDQotICAgICAgICAgICAgICAjbHQg
> fj0gMSA9PiAiZmFpbGVkIg0KLSAgICAgICAgICAgICAgKHUgOj0gcmVjaXAgbHQuZmlyc3QuQ2Yp
> IGNhc2UgImZhaWxlZCIgPT4gImZhaWxlZCINCi0gICAgICAgICAgICAgIC0tKHU6OlIpICogaW52
> IGx0LmZpcnN0Lk1uDQotICAgICAgICAgICAgICBtb25vbWlhbCgodTo6UiksIGludiBsdC5maXJz
> dC5NbikkJQ0KKyAgICAgICAgICAgICAgbm90IHNpemU/KGEsIDEpID0+ICJmYWlsZWQiDQorICAg
> ICAgICAgICAgICAodSA6PSByZWNpcCBhLmZpcnN0LkNmKSBjYXNlICJmYWlsZWQiID0+ICJmYWls
> ZWQiDQorICAgICAgICAgICAgICBtb25vbWlhbCgodTo6UiksIGludiBhLmZpcnN0Lk1uKQ0KICAg
> ICAgICAgICBlbHNlDQogICAgICAgICAgICAgcmVjaXAgYSA9PQ0KICAgICAgICAgICAgICAgI2Eg
> fj0gMSBvciBhLmZpcnN0Lk1uIH49IDEgPT4gImZhaWxlZCINCkBAIC0yMTMsNyArMjE1LDcgQEAg
> TW9ub2lkUmluZyhSIDogUmluZywgTSA6IE1vbm9pZCkgOiBNb25vaWRSaW5nQ2F0ZWdvcnkoUiwg
> TSkgPT0gTVJkZWZpbml0aW9uIHdoZXINCiAgICAgICAgICAgICBsZWFkaW5nU3VwcG9ydCBhICAg
> ID09IChlbXB0eT8gYSA9PiAxOyBhLmZpcnN0Lk1uKQ0KICAgICAgICAgICAgIGxlYWRpbmdNb25v
> bWlhbCBhICAgID09DQogICAgICAgICAgICAgICAgIGVtcHR5PyByZXAgYSA9PiBlcnJvciAiZW1w
> dHkgc3VwcG9ydCINCi0gICAgICAgICAgICAgICAgbW9ub21pYWwoKGZpcnN0IHJlcCBhKS5DZiwg
> KGZpcnN0IHJlcCBhKS5NbikNCisgICAgICAgICAgICAgICAgW2ZpcnN0IGFdDQogDQogICAgICAg
> ICAgICAgbGVhZGluZ1Rlcm0gYSAgICA9PQ0KICAgICAgICAgICAgICAgICBlbXB0eT8gYSA9PiBl
> cnJvciAiZW1wdHkgc3VwcG9ydCINCkBAIC0yNjksNiArMjcxLDggQEAgTW9ub2lkUmluZyhSIDog
> UmluZywgTSA6IE1vbm9pZCkgOiBNb25vaWRSaW5nQ2F0ZWdvcnkoUiwgTSkgPT0gTVJkZWZpbml0
> aW9uIHdoZXINCiAgICAgICAgICAgICAgICAgdHJ1ZQ0KIA0KICAgICAgICAgICAgIGEgKyBiID09
> DQorICAgICAgICAgICAgICAgIHplcm8/IGEgPT4gYg0KKyAgICAgICAgICAgICAgICB6ZXJvPyBi
> ID0+IGENCiAgICAgICAgICAgICAgICAgcmVwYTpSZXAgOj0gcmVwIGENCiAgICAgICAgICAgICAg
> ICAgcmVwYjpSZXAgOj0gcmVwIGINCiAgICAgICAgICAgICAgICAgcmVzIDogUmVwIDo9IGVtcHR5
> KCkNCkBAIC0yOTcsMTEgKzMwMSwxMyBAQCBNb25vaWRSaW5nKFIgOiBSaW5nLCBNIDogTW9ub2lk
> KSA6IE1vbm9pZFJpbmdDYXRlZ29yeShSLCBNKSA9PSBNUmRlZmluaXRpb24gd2hlcg0KICAgICAg
> ICAgICAgICAgICBjb25zdHJ1Y3QhIGNvbmNhdCEgW1tbdGEuTW4qdGIuTW4sIHRhLkNmKnRiLkNm
> XSRUZXJtDQogICAgICAgICAgICAgICAgICAgICBmb3IgdGIgaW4gYl0gZm9yIHRhIGluIGFdDQog
> DQotICAgICAgICBlbHNlIC0tIE0gaGFzbid0IE9yZGVyZWRTZXQNCisgICAgICAgIGVsc2UgLS0g
> TSBoYXNuJ3QgQ29tcGFyYWJsZQ0KICAgICAgICAgICAgIC0tIFRlcm1zIGFyZSBzdG9yZWQgaW4g
> cmFuZG9tIG9yZGVyLg0KICAgICAgICAgICBhID0gYiA9PQ0KICAgICAgICAgICAgICNhIH49ICNi
> ID0+IGZhbHNlDQotICAgICAgICAgICAgc2V0KGEgcHJldGVuZCBMaXN0KFRlcm0pKSA9JFNldChU
> ZXJtKSBzZXQoYiBwcmV0ZW5kIExpc3QoVGVybSkpDQorICAgICAgICAgICAgZm9yIHQgaW4gYSBy
> ZXBlYXQNCisgICAgICAgICAgICAgICAgbm90IG1lbWJlcj8odCwgYikgPT4gcmV0dXJuIGZhbHNl
> DQorICAgICAgICAgICAgdHJ1ZQ0KIA0KICAgICAgICAgICBjb2VmZmljaWVudChhLCBtKSA9PQ0K
> ICAgICAgICAgICAgIGZvciB0IGluIGEgcmVwZWF0DQo=
> --0000000000000f5841058e93a8dd
> Content-Type: application/x-patch; name="02-cleanup-*-in-MRING.patch"
> Content-Disposition: attachment; filename="02-cleanup-*-in-MRING.patch"
> Content-Transfer-Encoding: base64
> Content-ID: <>
> X-Attachment-Id:
>
> ZGlmZiAtLWdpdCBhL3NyYy9hbGdlYnJhL21yaW5nLnNwYWQgYi9zcmMvYWxnZWJyYS9tcmluZy5z
> cGFkDQppbmRleCAwYTFlOTcwNC4uYTQ5MDBiZTcgMTAwNjQ0DQotLS0gYS9zcmMvYWxnZWJyYS9t
> cmluZy5zcGFkDQorKysgYi9zcmMvYWxnZWJyYS9tcmluZy5zcGFkDQpAQCAtMjI5LDggKzIyOSw4
> IEBAIE1vbm9pZFJpbmcoUiA6IFJpbmcsIE0gOiBNb25vaWQpIDogTW9ub2lkUmluZ0NhdGVnb3J5
> KFIsIE0pID09IE1SZGVmaW5pdGlvbiB3aGVyDQogDQogICAgICAgICAgICAgdGVybWxlc3ModDE6
> VGVybSwgdDI6VGVybSk6Qm9vbGVhbiA9PSBzbWFsbGVyPyh0MS5rLCB0Mi5rKQ0KIA0KLSAgICAg
> ICAgICAgIGNvbnN0cnVjdCh4IDogTGlzdCBUZXJtKSA6ICUgPT0NCi0gICAgICAgICAgICAgICAg
> eHMgOiBMaXN0IFRlcm0gOj0gc29ydCh0ZXJtbGVzcywgeCkNCisgICAgICAgICAgICBjb25zdHJ1
> Y3QhKHggOiBMaXN0IFRlcm0pIDogJSA9PQ0KKyAgICAgICAgICAgICAgICB4cyA6IExpc3QgVGVy
> bSA6PSBzb3J0ISh0ZXJtbGVzcywgeCkNCiAgICAgICAgICAgICAgICAgcmVzIDogTGlzdCBUZXJt
> IDo9IGVtcHR5KCkNCiAgICAgICAgICAgICAgICAgLS0gZmluZCBkdXBsaWNhdGVzDQogICAgICAg
> ICAgICAgICAgIHdoaWxlIG5vdCBlbXB0eT8geHMgcmVwZWF0DQpAQCAtMjQ5LDYgKzI0OSw4IEBA
> IE1vbm9pZFJpbmcoUiA6IFJpbmcsIE0gOiBNb25vaWQpIDogTW9ub2lkUmluZ0NhdGVnb3J5KFIs
> IE0pID09IE1SZGVmaW5pdGlvbiB3aGVyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
> bnMoW25ld2MsIHQxLmtdLCByZXMpDQogICAgICAgICAgICAgICAgIHJlcw0KIA0KKyAgICAgICAg
> ICAgIGNvbnN0cnVjdCh4IDogTGlzdCBUZXJtKSA6ICUgPT0gY29uc3RydWN0ISBjb3B5IHgNCisN
> CiAgICAgICAgICAgICBpZiBSIGhhcyBDb21tdXRhdGl2ZVJpbmcgdGhlbg0KICAgICAgICAgICAg
> ICAgICBmIDogTSAtPiBSDQogICAgICAgICAgICAgICAgIHggOiAlDQpAQCAtMjg4LDYwICsyOTAs
> MTIgQEAgTW9ub2lkUmluZyhSIDogUmluZywgTSA6IE1vbm9pZCkgOiBNb25vaWRSaW5nQ2F0ZWdv
> cnkoUiwgTSkgPT0gTVJkZWZpbml0aW9uIHdoZXINCiAgICAgICAgICAgICAgICAgICAgIGlmIHNt
> YWxsZXI/KHQuTW4sIG0pIHRoZW4gcmV0dXJuIDANCiAgICAgICAgICAgICAgICAgMA0KIA0KLQ0K
> LSAgICAgICAgICAgIGlmIE0gaGFzIE9yZGVyZWRNb25vaWQgdGhlbg0KLQ0KLSAgICAgICAgICAg
> IC0tIHdlIHVzZSB0aGF0IG11bHRpcGx5aW5nIGFuIG9yZGVyZWQgbGlzdCBvZiBtb25vaWQgZWxl
> bWVudHMNCi0gICAgICAgICAgICAtLSBieSBhIHNpbmdsZSBlbGVtZW50IHJlc3BlY3RzIHRoZSBv
> cmRlcmluZw0KLQ0KLSAgICAgICAgICAgICAgaWYgUiBoYXMgbm9aZXJvRGl2aXNvcnMgdGhlbg0K
> LSAgICAgICAgICAgICAgICBhIDogJSAqIGIgOiAlID09DQotICAgICAgICAgICAgICAgICAgKy9b
> W1t0YS5Nbip0Yi5NbiwgdGEuQ2YqdGIuQ2ZdJFRlcm0NCi0gICAgICAgICAgICAgICAgICAgIGZv
> ciB0YiBpbiBiIF0gZm9yIHRhIGluIHJldmVyc2UgYV0NCi0gICAgICAgICAgICAgIGVsc2UNCi0g
> ICAgICAgICAgICAgICAgYSA6ICUgKiBiIDogJSA9PQ0KLSAgICAgICAgICAgICAgICAgICsvW1tb
> dGEuTW4qdGIuTW4sIHJdJFRlcm0NCi0gICAgICAgICAgICAgICAgICAgIGZvciB0YiBpbiBiIHwg
> bm90IHplcm8/KHIgOj0gdGEuQ2YqdGIuQ2YpXQ0KLSAgICAgICAgICAgICAgICAgICAgICBmb3Ig
> dGEgaW4gcmV2ZXJzZSBhXQ0KLSAgICAgICAgICAgIGVsc2UgLS0gTSBoYXNuJ3QgT3JkZXJlZE1v
> bm9pZA0KLQ0KLSAgICAgICAgICAgIC0tIHdlIGNhbm5vdCBhc3N1bWUgdGhhdCBtdXRpcGx5aW5n
> IGFuIG9yZGVyZWQgbGlzdCBvZg0KLSAgICAgICAgICAgIC0tIG1vbm9pZCBlbGVtZW50cyBieSBh
> IHNpbmdsZSBlbGVtZW50IHJlc3BlY3RzIHRoZSBvcmRlcmluZzoNCi0gICAgICAgICAgICAtLSB3
> ZSBoYXZlIHRvIG9yZGVyIGFuZCB0byBjb2xsZWN0IGVxdWFsIHRlcm1zDQotICAgICAgICAgICAg
> ICBnZSA6IChUZXJtLCBUZXJtKSAtPiBCb29sZWFuDQotICAgICAgICAgICAgICBnZShzLCB0KSA9
> PSBub3Qgc21hbGxlcj8gKHMuTW4sIHQuTW4pDQotDQotICAgICAgICAgICAgICBzb3J0QW5kQWRk
> IDogTGlzdCBUZXJtIC0+IExpc3QgVGVybQ0KLSAgICAgICAgICAgICAgc29ydEFuZEFkZChsaVRl
> KSA9PSAgLS0gYXNzdW1lIGxpVGUgbm90IGVtcHR5DQotICAgICAgICAgICAgICAgIGxpVGUgOj0g
> c29ydChnZSwgbGlUZSkNCi0gICAgICAgICAgICAgICAgbSA6IE0gOj0gIChmaXJzdCBsaVRlKS5N
> bg0KLSAgICAgICAgICAgICAgICBjZiA6IFIgOj0gKGZpcnN0IGxpVGUpLkNmDQotICAgICAgICAg
> ICAgICAgIHJlcyA6IExpc3QgVGVybSA6PSBbXQ0KLSAgICAgICAgICAgICAgICBmb3IgdGUgaW4g
> cmVzdCBsaVRlIHJlcGVhdA0KLSAgICAgICAgICAgICAgICAgIGlmIG0gPSB0ZS5NbiB0aGVuDQot
> ICAgICAgICAgICAgICAgICAgICBjZiA6PSBjZiArIHRlLkNmDQotICAgICAgICAgICAgICAgICAg
> ZWxzZQ0KLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IHplcm8/IGNmIHRoZW4gcmVzIDo9IGNv
> bnMoW20sIGNmXSRUZXJtLCByZXMpDQotICAgICAgICAgICAgICAgICAgICBtIDo9IHRlLk1uDQot
> ICAgICAgICAgICAgICAgICAgICBjZiA6PSB0ZS5DZg0KLSAgICAgICAgICAgICAgICBpZiBub3Qg
> emVybz8gY2YgdGhlbiByZXMgOj0gY29ucyhbbSwgY2ZdJFRlcm0sIHJlcykNCi0gICAgICAgICAg
> ICAgICAgcmV2ZXJzZSByZXMNCi0NCi0NCi0gICAgICAgICAgICAgIGlmIFIgaGFzIG5vWmVyb0Rp
> dmlzb3JzIHRoZW4NCi0gICAgICAgICAgICAgICAgYSA6ICUgKiBiIDogJSA9PQ0KLSAgICAgICAg
> ICAgICAgICAgIHplcm8/IGEgPT4gYQ0KLSAgICAgICAgICAgICAgICAgIHplcm8/IGIgPT4gYiAg
> LS0gYXZvaWQgY2FsbGluZyBzb3J0QW5kQWRkIHdpdGggW10NCi0gICAgICAgICAgICAgICAgICAr
> L1tzb3J0QW5kQWRkIFtbdGEuTW4qdGIuTW4sIHRhLkNmKnRiLkNmXSRUZXJtDQotICAgICAgICAg
> ICAgICAgICAgICBmb3IgdGIgaW4gYiBdIGZvciB0YSBpbiByZXZlcnNlIGFdDQotICAgICAgICAg
> ICAgICBlbHNlDQotICAgICAgICAgICAgICAgIGEgOiAlICogYiA6ICUgPT0NCi0gICAgICAgICAg
> ICAgICAgICB6ZXJvPyBhID0+IGENCi0gICAgICAgICAgICAgICAgICB6ZXJvPyBiID0+IGIgIC0t
> IGF2b2lkIGNhbGxpbmcgc29ydEFuZEFkZCB3aXRoIFtdDQotICAgICAgICAgICAgICAgICAgKy9b
> c29ydEFuZEFkZCBbW3RhLk1uKnRiLk1uLCByXSRUZXJtDQotICAgICAgICAgICAgICAgICAgICBm
> b3IgdGIgaW4gYiB8IG5vdCB6ZXJvPyhyIDo9IHRhLkNmKnRiLkNmKV0NCi0gICAgICAgICAgICAg
> ICAgICAgICAgZm9yIHRhIGluIHJldmVyc2UgYV0NCi0NCisgICAgICAgICAgICBhIDogJSAqIGIg
> OiAlID09DQorICAgICAgICAgICAgICAgIHplcm8/IGEgb3IgemVybz8gYiA9PiAwDQorICAgICAg
> ICAgICAgICAgIG9uZT8gYSA9PiBiDQorICAgICAgICAgICAgICAgIG9uZT8gYiA9PiBhDQorICAg
> ICAgICAgICAgICAgIGNvbnN0cnVjdCEgY29uY2F0ISBbW1t0YS5Nbip0Yi5NbiwgdGEuQ2YqdGIu
> Q2ZdJFRlcm0NCisgICAgICAgICAgICAgICAgICAgIGZvciB0YiBpbiBiXSBmb3IgdGEgaW4gYV0N
> CiANCiAgICAgICAgIGVsc2UgLS0gTSBoYXNuJ3QgT3JkZXJlZFNldA0KICAgICAgICAgICAgIC0t
> IFRlcm1zIGFyZSBzdG9yZWQgaW4gcmFuZG9tIG9yZGVyLg0K
> --0000000000000f5841058e93a8dd
> Content-Type: application/x-patch; name="01-fix-construct-in-MRING.patch"
> Content-Disposition: attachment; filename="01-fix-construct-in-MRING.patch"
> Content-Transfer-Encoding: base64
> Content-ID: <>
> X-Attachment-Id:
>
> ZGlmZiAtLWdpdCBhL3NyYy9hbGdlYnJhL21yaW5nLnNwYWQgYi9zcmMvYWxnZWJyYS9tcmluZy5z
> cGFkDQppbmRleCA3ZmQ3MjQ0YS4uMGExZTk3MDQgMTAwNjQ0DQotLS0gYS9zcmMvYWxnZWJyYS9t
> cmluZy5zcGFkDQorKysgYi9zcmMvYWxnZWJyYS9tcmluZy5zcGFkDQpAQCAtMjM2LDE0ICsyMzYs
> MTcgQEAgTW9ub2lkUmluZyhSIDogUmluZywgTSA6IE1vbm9pZCkgOiBNb25vaWRSaW5nQ2F0ZWdv
> cnkoUiwgTSkgPT0gTVJkZWZpbml0aW9uIHdoZXINCiAgICAgICAgICAgICAgICAgd2hpbGUgbm90
> IGVtcHR5PyB4cyByZXBlYXQNCiAgICAgICAgICAgICAgICAgICAgIHQxOj0gZmlyc3QgeHMNCiAg
> ICAgICAgICAgICAgICAgICAgIHhzIDo9IHJlc3QgeHMNCisgICAgICAgICAgICAgICAgICAgIG5l
> d2MgOj0gdDEuYw0KICAgICAgICAgICAgICAgICAgICAgd2hpbGUgbm90IGVtcHR5PyB4cyByZXBl
> YXQNCiAgICAgICAgICAgICAgICAgICAgICAgICB0Mjo9IGZpcnN0IHhzDQogICAgICAgICAgICAg
> ICAgICAgICAgICAgaWYgdDEuayA9IHQyLmsgdGhlbg0KLSAgICAgICAgICAgICAgICAgICAgICAg
> ICAgIHQxLmM6PSB0MS5jK3QyLmMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB4czo9IHJl
> c3QgeHMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3YyA6PSBuZXdjICsgdDIuYw0K
> KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4cyA6PSByZXN0IHhzDQogICAgICAgICAgICAg
> ICAgICAgICAgICAgZWxzZSBicmVhaw0KLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IHplcm8/
> IHQxLmMgdGhlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA6PSBjb25zICh0MSwgcmVz
> KQ0KKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHplcm8/IG5ld2MgdGhlbg0KKyAgICAgICAg
> ICAgICAgICAgICAgICAgIHJlcyA6PQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdj
> ID0gdDEuYyA9PiBjb25zKHQxLCByZXMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
> bnMoW25ld2MsIHQxLmtdLCByZXMpDQogICAgICAgICAgICAgICAgIHJlcw0KIA0KICAgICAgICAg
> ICAgIGlmIFIgaGFzIENvbW11dGF0aXZlUmluZyB0aGVuDQpkaWZmIC0tZ2l0IGEvc3JjL2lucHV0
> L2J1Z3MyMDE5LmlucHV0IGIvc3JjL2lucHV0L2J1Z3MyMDE5LmlucHV0DQppbmRleCA0NDFhZmY0
> YS4uZTViZjE1OGMgMTAwNjQ0DQotLS0gYS9zcmMvaW5wdXQvYnVnczIwMTkuaW5wdXQNCisrKyBi
> L3NyYy9pbnB1dC9idWdzMjAxOS5pbnB1dA0KQEAgLTI5LDQgKzI5LDE0IEBAIHRlc3RjYXNlICJz
> aW1wbGlmaWNhdGlvbiBvZiBzcXVhcmUgcm9vdCBpbiAncmFkaWNhbFNvbHZlJyINCiB0ZXN0RXF1
> YWxzKCJyaHMgZmlyc3QgcmFkaWNhbFNvbHZlKHheMisyKmEqeCsyKmIseCkiLCAiLXNxcnQoYV4y
> LTIqYiktYSIpDQogdGVzdEVxdWFscygicmhzIGZpcnN0IHJhZGljYWxTb2x2ZSh4XjIrMiphKmMq
> eCsyKmIqY14yLHgpIiwgIi1jKnNxcnQoYV4yLTIqYiktYSpjIikNCiANCit0ZXN0Y2FzZSAiZml4
> ICdjb25zdHJ1Y3QnIGluIE1SSU5HIg0KKw0KK1QgOj0gTW9ub2lkUmluZyhJbnRlZ2VyLCBJbnRl
> Z2VyKQ0KK1IgOj0gUmVjb3JkKGsgOiBJbnRlZ2VyLCBjIDogSW50ZWdlcikNCit4MSA6PSBjb25z
> dHJ1Y3QoW1syLCA1XTo6Ul0pJFQNCit4MiA6PSBjb25zdHJ1Y3QoW1syLCA1XTo6Ul0pJFQNCits
> IDo9IHRlcm1zIHgxDQorY29uc3RydWN0KGNvbmNhdChsLGwpKSRUDQordGVzdEVxdWFscygieDEi
> LCAieDIiKQ0KKw0KIHN0YXRpc3RpY3MoKQ0K
> --0000000000000f5841058e93a8dd--
>


--
Waldek Hebisch

oldk1331

unread,
Jul 29, 2019, 7:45:16 AM7/29/19
to fricas...@googlegroups.com
On 7/27/19 6:32 PM, Waldek Hebisch wrote:

> oldk1331 wrote:
>> The second patch uses "construct" to greatly simplify "*" in MRING.
>
> When M is ordered old code tries to minimize need for sorting.
> It is hard to see if this really gains some speed but it
> would be better to do some measurements and compare speed
> of old code and your new one.

You are right, old code is about 4 times faster than mine
for MRING(INT,FreeMonoid(INT)).  (after work around the
compiler bug in 'concat!')

So I'll change for "not (M has OrderedMonoid)" only.


>> The third patch does some cleanup for MRING.

What's your opinion on the third patch?

Waldek Hebisch

unread,
Jul 29, 2019, 8:49:16 AM7/29/19
to fricas...@googlegroups.com
>
> --000000000000f11724058ed06cd0
> Content-Type: text/plain; charset="UTF-8"
>
> On 7/27/19 6:32 PM, Waldek Hebisch wrote:
> > oldk1331 wrote:
> >> The second patch uses "construct" to greatly simplify "*" in MRING.
> >
> > When M is ordered old code tries to minimize need for sorting.
> > It is hard to see if this really gains some speed but it
> > would be better to do some measurements and compare speed
> > of old code and your new one.
>
> You are right, old code is about 4 times faster than mine
> for MRING(INT,FreeMonoid(INT)). (after work around the
> compiler bug in 'concat!')
>
> So I'll change for "not (M has OrderedMonoid)" only.

OK
>
> >> The third patch does some cleanup for MRING.
>
> What's your opinion on the third patch?

OK

--
Waldek Hebisch
Reply all
Reply to author
Forward
0 new messages