Carl Friedrich Bolz-Tereick pushed to branch branch/default at PyPy / pypy
Commits: 9732fa80 by Carl Friedrich Bolz-Tereick at 2021-03-19T21:33:13+01:00 randomly implement a faster divmod for very large numbers, following Mark Dickinson's approach from this issue: https://bugs.python.org/issue3451 --HG-- branch : faster-rbigint-big-divmod - - - - - 0185aad6 by Carl Friedrich Bolz-Tereick at 2021-03-19T21:34:17+01:00 for reference, before the introduction of extract_bits --HG-- branch : faster-rbigint-big-divmod - - - - - d3fd8ae9 by Carl Friedrich Bolz-Tereick at 2021-03-19T21:34:35+01:00 and get it back --HG-- branch : faster-rbigint-big-divmod - - - - - 4400655a by Carl Friedrich Bolz-Tereick at 2021-03-20T16:56:17+01:00 boost size once, not many times during the recursion --HG-- branch : faster-rbigint-big-divmod - - - - - dde7da59 by Carl Friedrich Bolz-Tereick at 2021-03-21T13:02:43+01:00 some tweaks --HG-- branch : faster-rbigint-big-divmod - - - - - 379a10b8 by Carl Friedrich Bolz-Tereick at 2021-03-21T15:39:38+01:00 some tweaks (more possible) --HG-- branch : faster-rbigint-big-divmod - - - - - 2419dc5c by Carl Friedrich Bolz-Tereick at 2021-03-21T18:54:26+01:00 remove quadraticness --HG-- branch : faster-rbigint-big-divmod - - - - - c52b6ad0 by Carl Friedrich Bolz-Tereick at 2021-03-21T20:34:16+01:00 tweaks --HG-- branch : faster-rbigint-big-divmod - - - - - ed5bf211 by Carl Friedrich Bolz-Tereick at 2021-03-22T07:26:48+01:00 do less extracting --HG-- branch : faster-rbigint-big-divmod - - - - - f881ae87 by Carl Friedrich Bolz-Tereick at 2021-03-22T11:39:36+01:00 no need for extract_bits any more, all based on digits --HG-- branch : faster-rbigint-big-divmod - - - - - 43f8b55e by Carl Friedrich Bolz-Tereick at 2021-03-22T13:06:03+01:00 start integrating divmod_big --HG-- branch : faster-rbigint-big-divmod - - - - - 06fd2475 by Carl Friedrich Bolz-Tereick at 2021-03-22T13:50:32+01:00 tweak heuristics --HG-- branch : faster-rbigint-big-divmod - - - - - 6b60817e by Carl Friedrich Bolz-Tereick at 2021-03-22T14:00:42+01:00 tune _full_digits_lshift_then_or --HG-- branch : faster-rbigint-big-divmod - - - - - a2eb5fde by Carl Friedrich Bolz-Tereick at 2021-03-23T13:20:20+01:00 test and fix: should never use the length of ._digits, always numdigits() bug found by afl after 12h! --HG-- branch : faster-rbigint-big-divmod - - - - - 53fc4b57 by Carl Friedrich Bolz-Tereick at 2021-03-23T13:23:19+01:00 rename --HG-- branch : faster-rbigint-big-divmod - - - - - 519e74bd by Carl Friedrich Bolz-Tereick at 2021-03-24T10:43:59+01:00 add a diagram --HG-- branch : faster-rbigint-big-divmod - - - - - 453eb266 by Carl Friedrich Bolz-Tereick at 2021-03-24T10:55:46+01:00 typo :-( --HG-- branch : faster-rbigint-big-divmod - - - - - 5d37d08c by Carl Friedrich Bolz-Tereick at 2021-03-24T13:33:53+01:00 kill c-based comments --HG-- branch : faster-rbigint-big-divmod - - - - - 16715209 by Carl Friedrich Bolz-Tereick at 2021-03-24T19:28:42+01:00 kill redundant code --HG-- branch : faster-rbigint-big-divmod - - - - - 83abb3cc by Carl Friedrich Bolz-Tereick at 2021-03-24T20:20:43+01:00 shortcut --HG-- branch : faster-rbigint-big-divmod - - - - - a08e2415 by Carl Friedrich Bolz-Tereick at 2021-03-25T09:02:54+01:00 center --HG-- branch : faster-rbigint-big-divmod - - - - - 2a90c6a5 by Carl Friedrich Bolz-Tereick at 2021-03-25T10:15:48+01:00 run the hypothesis tests in a special mode where SHIFT is set to a small value, to find edge cases more easily --HG-- branch : faster-rbigint-big-divmod - - - - - 65734934 by Carl Friedrich Bolz-Tereick at 2021-03-26T12:57:30+01:00 fixes --HG-- branch : faster-rbigint-big-divmod - - - - - 3ac5b256 by Carl Friedrich Bolz-Tereick at 2021-03-26T13:35:52+01:00 improve coverage --HG-- branch : faster-rbigint-big-divmod - - - - - 8e246f9f by Carl Friedrich Bolz-Tereick at 2021-04-12T10:58:34+02:00 oops, fix wrong test --HG-- branch : faster-rbigint-big-divmod - - - - - 5ba4e56d by Carl Friedrich Bolz-Tereick at 2021-04-12T10:59:09+02:00 be paranoid: check that the result of divmod is correct, if we use the new faster (and more complicated) code path. better an assertion error than a wrong result --HG-- branch : faster-rbigint-big-divmod - - - - - 4ce4db16 by Carl Friedrich Bolz-Tereick at 2021-04-12T12:41:00+02:00 ouch, something wrong on 32 bit. add some debug prints to find it on the buildbot --HG-- branch : faster-rbigint-big-divmod - - - - - e9d01388 by Carl Friedrich Bolz-Tereick at 2021-04-12T12:48:50+02:00 hrmpf --HG-- branch : faster-rbigint-big-divmod - - - - - 16f8b228 by Carl Friedrich Bolz-Tereick at 2021-04-12T14:18:32+02:00 another attempt --HG-- branch : faster-rbigint-big-divmod - - - - - f9127129 by Carl Friedrich Bolz-Tereick at 2021-04-12T19:58:53+02:00 last attempt :-( --HG-- branch : faster-rbigint-big-divmod - - - - - 27a36ee0 by Carl Friedrich Bolz-Tereick at 2021-04-12T21:07:42+02:00 the assert itself was wrong :-(((((. This is just incompetent flailing at this point. --HG-- branch : faster-rbigint-big-divmod - - - - - 8224a96f by Carl Friedrich Bolz-Tereick at 2021-04-13T10:48:20+02:00 merge faster-rbigint-big-divmod: a faster divide-and-conquer divmod implementation for divmod of rbigints, given large enough numbers. based on python code by Mark Dickinson here: https://bugs.python.org/issue3451 - - - - - 3 changed files: - .hgignore - rpython/rlib/rbigint.py - rpython/rlib/test/test_rbigint.py View it on GitLab: https://foss.heptapod.net/pypy/pypy/-/compare/9489e8f51ffc6c2d952c90992f6a7de766bde47c...8224a96f034ed96f01f44a998b6981a1106c67b6 -- View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/9489e8f51ffc6c2d952c90992f6a7de766bde47c...8224a96f034ed96f01f44a998b6981a1106c67b6 You're receiving this email because of your account on foss.heptapod.net.
_______________________________________________ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
