cpython/Tools/build/consts_getter.py

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