mirror of
https://github.com/python/cpython.git
synced 2025-10-19 07:53:46 +00:00
20 lines
711 B
Python
20 lines
711 B
Python
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
INTERNAL = ROOT / "Include" / "internal"
|
|
|
|
def get_nsmallnegints_and_nsmallposints() -> tuple[int, int]:
|
|
nsmallposints = None
|
|
nsmallnegints = None
|
|
with open(INTERNAL / "pycore_runtime_structs.h") as infile:
|
|
for line in infile:
|
|
if line.startswith("#define _PY_NSMALLPOSINTS"):
|
|
nsmallposints = int(line.split()[-1])
|
|
elif line.startswith("#define _PY_NSMALLNEGINTS"):
|
|
nsmallnegints = int(line.split()[-1])
|
|
break
|
|
else:
|
|
raise NotImplementedError
|
|
assert nsmallposints
|
|
assert nsmallnegints
|
|
return nsmallnegints, nsmallposints
|