You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Py_PACK_FULL_VERSION(x, y, z, level, serial): pack a version number from components
into the format used by Py_VERSION_HEX and Py_LIMITED_API.
For example, Py_PACK_FULL_VERSION(3, 14, 0, 0xA, 1) evaluates to 0x030E00A1.
Py_PACK_VERSION(x, y): shorthand for Py_PACK_FULL_VERSION(x, y, 0, 0, 0),
useful because the first two version components often determine ABI
compatibility.
These are primarily macros, but we will export library functions with the same names and functionality, for use in wrappers for non-C languages – for example, Python with ctypes.
The functions take int arguments and return uint32_t. Inputs are masked (high bits are ignored).
Add these to limited API:
Py_PACK_FULL_VERSION(x, y, z, level, serial)
: pack a version number from componentsinto the format used by
Py_VERSION_HEX
andPy_LIMITED_API
.For example,
Py_PACK_FULL_VERSION(3, 14, 0, 0xA, 1)
evaluates to 0x030E00A1.Py_PACK_VERSION(x, y)
: shorthand forPy_PACK_FULL_VERSION(x, y, 0, 0, 0)
,useful because the first two version components often determine ABI
compatibility.
These are primarily macros, but we will export library functions with the same names and functionality, for use in wrappers for non-C languages – for example, Python with
ctypes
.The functions take
int
arguments and returnuint32_t
. Inputs are masked (high bits are ignored).C API WG decision: capi-workgroup/decisions#47
Linked PRs
The text was updated successfully, but these errors were encountered: