Matti Picus pushed to branch branch/py3.8 at PyPy / pypy


Commits:
c557c19d by Matti Picus at 2022-10-16T15:01:21+03:00
implement the int_max_str_digits handling from CPython PR 96503

- sys.get(State).w_int_max_str_digits is the value to be used in conversions
- sys.int_info.default_max_str_digits and 
sys.int_info.str_digits_check_threshold
  are the compiled-in limits
- sys.{sg}et_int_max_str_digits are interfaces to manage w_int_max_str_digits
- sys.flags.int_max_str_digits is the startup value of w_int_max_str_digits
- new command line -X int_max_str_digits=number and environment 
PYTHONINTMAXSTRDIGITS
  are use at startup to set sys.flags.int_max_str_digits and 
w_int_max_str_digits

--HG--
branch : max_int_threshold

- - - - -
b5035ce4 by Carl Friedrich Bolz-Tereick at 2022-10-16T15:31:48+02:00
a failing unit test

--HG--
branch : max_int_threshold

- - - - -
f20efbc6 by Matti Picus at 2022-10-16T17:51:23+03:00
fix default int_max_str_digits value and add a check to the test

--HG--
branch : max_int_threshold

- - - - -
fac94bb8 by Matti Picus at 2022-10-18T00:38:11+03:00
rearrange code so int_max_str_digits works

--HG--
branch : max_int_threshold

- - - - -
3cb2e822 by Matti Picus at 2022-10-18T00:38:50+03:00
test, limit str -> int conversion to use int_max_str_digits

--HG--
branch : max_int_threshold

- - - - -
8c96b277 by Matti Picus at 2022-10-18T22:04:16+03:00
fix failing test_linear_long_base_16

--HG--
branch : max_int_threshold

- - - - -
06d74063 by Matti Picus at 2022-10-18T22:53:50+03:00
test, fix more edge cases

--HG--
branch : max_int_threshold

- - - - -
f432b4f8 by Matti Picus at 2022-10-19T23:57:18+03:00
add a TODO

--HG--
branch : max_int_threshold

- - - - -
635de3f3 by Matti Picus at 2022-10-20T00:09:57+03:00
add a failing test, fix with a hack to do float/complex parsing directly and 
raise
if int parsing passes max_int

CPython uses strtol to check that all the characters are valid for int, here we
check for '.' or 'e', 'E'

--HG--
branch : max_int_threshold

- - - - -
c0982221 by Matti Picus at 2022-10-23T17:50:03+03:00
merge py3.8

--HG--
branch : max_int_threshold

- - - - -
85097e12 by Matti Picus at 2022-10-26T17:49:20+02:00
test, fix max_str_int for bigint -> str for cpython compatiblitly.

We may want to diverge from CPython and set separate str -> int and int 
-> str thresholds

--HG--
branch : max_int_threshold

- - - - -
0c0657ce by Matti Picus at 2022-10-27T03:34:52+02:00
push check for bigint max_str_digits into rstring

--HG--
branch : max_int_threshold

- - - - -
addc31b4 by Matti Picus at 2022-10-27T11:42:44+02:00
test, fix some edge cases

--HG--
branch : max_int_threshold

- - - - -
3ce12eb5 by Matti Picus at 2022-10-27T11:43:49+02:00
stdlib change: timing test is different on PyPy, 50,000 digits is too fast

--HG--
branch : max_int_threshold

- - - - -
6a2514bf by Matti Picus at 2022-10-27T13:26:10+02:00
test, fix edge case with leading '-' in bigint -> str

--HG--
branch : max_int_threshold

- - - - -
353a7ae9 by Matti Picus at 2022-10-27T16:08:01+02:00
close branch to be merged

--HG--
branch : max_int_threshold

- - - - -
88c98ed4 by Matti Picus at 2022-10-27T16:09:46+02:00
merge max_int_threshold which mimics CPython's int/str size limits

--HG--
branch : py3.8

- - - - -
bb73ee84 by Matti Picus at 2022-10-27T16:18:45+02:00
backport changes to support max_str_digits

- - - - -
41df9515 by Matti Picus at 2022-10-27T16:19:18+02:00
merge default

--HG--
branch : py3.8

- - - - -
60533283 by Matti Picus at 2022-10-27T23:22:46+02:00
merge heads

--HG--
branch : py3.8

- - - - -


17 changed files:

- lib-python/3/test/test_int.py
- pypy/interpreter/app_main.py
- pypy/interpreter/astcompiler/astbuilder.py
- pypy/interpreter/astcompiler/test/test_compiler.py
- pypy/interpreter/test/test_app_main.py
- pypy/module/sys/app.py
- pypy/module/sys/moduledef.py
- pypy/module/sys/state.py
- pypy/module/sys/system.py
- pypy/module/sys/test/test_sysmodule.py
- pypy/objspace/std/intobject.py
- pypy/objspace/std/longobject.py
- pypy/objspace/std/test/test_intobject.py
- pypy/objspace/std/test/test_longobject.py
- rpython/rlib/rarithmetic.py
- rpython/rlib/rbigint.py
- rpython/rlib/rstring.py


View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/465d64f3c8bd8cb535f1928b3f1a8201f01088c0...605332830a5b53645d97e8f94bdded5fb96e3a36

-- 
View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/465d64f3c8bd8cb535f1928b3f1a8201f01088c0...605332830a5b53645d97e8f94bdded5fb96e3a36
You're receiving this email because of your account on foss.heptapod.net.


_______________________________________________
pypy-commit mailing list -- pypy-commit@python.org
To unsubscribe send an email to pypy-commit-le...@python.org
https://mail.python.org/mailman3/lists/pypy-commit.python.org/
Member address: arch...@mail-archive.com

Reply via email to