3#ifndef __NUITKA_HELPER_INDEXES_H__
4#define __NUITKA_HELPER_INDEXES_H__
8#include "nuitka/prelude.h"
12#if PYTHON_VERSION >= 0x380
13static inline bool Nuitka_Index_Check(PyObject *obj) {
14 PyNumberMethods *tp_as_number = Py_TYPE(obj)->tp_as_number;
16 return (tp_as_number != NULL && tp_as_number->nb_index != NULL);
19#define Nuitka_Index_Check(obj) PyIndex_Check(obj)
23extern PyObject *Nuitka_Number_Index(PyObject *item);
27#if PYTHON_VERSION >= 0x3a0
28extern PyObject *Nuitka_Number_IndexAsLong(PyObject *item);
30#define Nuitka_Number_IndexAsLong(item) Nuitka_Number_Index(item)