Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
sliceobject.h70 linesDownload Raw Back to include
1#ifndef Py_SLICEOBJECT_H2#define Py_SLICEOBJECT_H3#ifdef __cplusplus4extern "C" {5#endif6 7/* The unique ellipsis object "..." */8 9PyAPI_DATA(PyObject) _Py_EllipsisObject; /* Don't use this directly */10 11#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D000012#  define Py_Ellipsis Py_GetConstantBorrowed(Py_CONSTANT_ELLIPSIS)13#else14#  define Py_Ellipsis (&_Py_EllipsisObject)15#endif16 17/* Slice object interface */18 19/*20 21A slice object containing start, stop, and step data members (the22names are from range).  After much talk with Guido, it was decided to23let these be any arbitrary python type.  Py_None stands for omitted values.24*/25#ifndef Py_LIMITED_API26typedef struct {27    PyObject_HEAD28    PyObject *start, *stop, *step;      /* not NULL */29} PySliceObject;30#endif31 32PyAPI_DATA(PyTypeObject) PySlice_Type;33PyAPI_DATA(PyTypeObject) PyEllipsis_Type;34 35#define PySlice_Check(op) Py_IS_TYPE((op), &PySlice_Type)36 37PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop,38                                  PyObject* step);39#ifndef Py_LIMITED_API40PyAPI_FUNC(PyObject *) _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop);41PyAPI_FUNC(int) _PySlice_GetLongIndices(PySliceObject *self, PyObject *length,42                                 PyObject **start_ptr, PyObject **stop_ptr,43                                 PyObject **step_ptr);44#endif45PyAPI_FUNC(int) PySlice_GetIndices(PyObject *r, Py_ssize_t length,46                                  Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step);47Py_DEPRECATED(3.7)48PyAPI_FUNC(int) PySlice_GetIndicesEx(PyObject *r, Py_ssize_t length,49                                     Py_ssize_t *start, Py_ssize_t *stop,50                                     Py_ssize_t *step,51                                     Py_ssize_t *slicelength);52 53#if !defined(Py_LIMITED_API) || (Py_LIMITED_API+0 >= 0x03050400 && Py_LIMITED_API+0 < 0x03060000) || Py_LIMITED_API+0 >= 0x0306010054#define PySlice_GetIndicesEx(slice, length, start, stop, step, slicelen) (  \55    PySlice_Unpack((slice), (start), (stop), (step)) < 0 ?                  \56    ((*(slicelen) = 0), -1) :                                               \57    ((*(slicelen) = PySlice_AdjustIndices((length), (start), (stop), *(step))), \58     0))59PyAPI_FUNC(int) PySlice_Unpack(PyObject *slice,60                               Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step);61PyAPI_FUNC(Py_ssize_t) PySlice_AdjustIndices(Py_ssize_t length,62                                             Py_ssize_t *start, Py_ssize_t *stop,63                                             Py_ssize_t step);64#endif65 66#ifdef __cplusplus67}68#endif69#endif /* !Py_SLICEOBJECT_H */70 
codekingpro/portable-devtools · Team Ai