mirror of
https://github.com/jart/cosmopolitan.git
synced 2024-05-05 13:18:45 +00:00
d26d7ae0e4
Building o//third_party/python now takes 5 seconds on my PC This change works towards modifying Python to use runtime dispatching when appropriate. For example, when loading the magnums in the socket module, it's a good idea to check if the magnum is zero, because that means the local system platform doesn't support it.
26 lines
671 B
C
26 lines
671 B
C
#ifndef Py_LIMITED_API
|
|
#ifndef Py_CELLOBJECT_H
|
|
#define Py_CELLOBJECT_H
|
|
COSMOPOLITAN_C_START_
|
|
/* clang-format off */
|
|
|
|
typedef struct {
|
|
PyObject_HEAD
|
|
PyObject *ob_ref; /* Content of the cell or NULL when empty */
|
|
} PyCellObject;
|
|
|
|
PyAPI_DATA(PyTypeObject) PyCell_Type;
|
|
|
|
#define PyCell_Check(op) (Py_TYPE(op) == &PyCell_Type)
|
|
|
|
PyAPI_FUNC(PyObject *) PyCell_New(PyObject *);
|
|
PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *);
|
|
PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *);
|
|
|
|
#define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref)
|
|
#define PyCell_SET(op, v) (((PyCellObject *)(op))->ob_ref = v)
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !Py_TUPLEOBJECT_H */
|
|
#endif /* Py_LIMITED_API */
|