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