MCPcopy Create free account
hub / github.com/Sally-SH/VSP-LLM / __Pyx_GetItemInt_Fast

Function __Pyx_GetItemInt_Fast

fairseq/fairseq/data/data_utils_fast.cpp:25635–25684  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25633#endif
25634}
25635static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
25636 CYTHON_NCP_UNUSED int wraparound,
25637 CYTHON_NCP_UNUSED int boundscheck) {
25638#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
25639 if (is_list || PyList_CheckExact(o)) {
25640 Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
25641 if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
25642 PyObject *r = PyList_GET_ITEM(o, n);
25643 Py_INCREF(r);
25644 return r;
25645 }
25646 }
25647 else if (PyTuple_CheckExact(o)) {
25648 Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
25649 if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
25650 PyObject *r = PyTuple_GET_ITEM(o, n);
25651 Py_INCREF(r);
25652 return r;
25653 }
25654 } else {
25655 PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
25656 PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
25657 if (mm && mm->mp_subscript) {
25658 PyObject *r, *key = PyInt_FromSsize_t(i);
25659 if (unlikely(!key)) return NULL;
25660 r = mm->mp_subscript(o, key);
25661 Py_DECREF(key);
25662 return r;
25663 }
25664 if (likely(sm && sm->sq_item)) {
25665 if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
25666 Py_ssize_t l = sm->sq_length(o);
25667 if (likely(l >= 0)) {
25668 i += l;
25669 } else {
25670 if (!PyErr_ExceptionMatches(PyExc_OverflowError))
25671 return NULL;
25672 PyErr_Clear();
25673 }
25674 }
25675 return sm->sq_item(o, i);
25676 }
25677 }
25678#else
25679 if (is_list || !PyMapping_Check(o)) {
25680 return PySequence_GetItem(o, i);
25681 }
25682#endif
25683 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
25684}
25685
25686/* PyObjectCallOneArg */
25687static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {

Callers 1

__Pyx_PyObject_GetIndexFunction · 0.70

Calls 2

__Pyx_is_valid_indexFunction · 0.70
__Pyx_GetItemInt_GenericFunction · 0.70

Tested by

no test coverage detected