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

Function __Pyx_CyFunction_CallMethod

fairseq/fairseq/data/data_utils_fast.cpp:28717–28816  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28715#endif
28716}
28717static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
28718#if CYTHON_COMPILING_IN_LIMITED_API
28719 PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
28720 PyObject *py_name = NULL;
28721 PyCFunction meth;
28722 int flags;
28723 meth = PyCFunction_GetFunction(f);
28724 if (unlikely(!meth)) return NULL;
28725 flags = PyCFunction_GetFlags(f);
28726 if (unlikely(flags < 0)) return NULL;
28727#else
28728 PyCFunctionObject* f = (PyCFunctionObject*)func;
28729 PyCFunction meth = f->m_ml->ml_meth;
28730 int flags = f->m_ml->ml_flags;
28731#endif
28732 Py_ssize_t size;
28733 switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
28734 case METH_VARARGS:
28735 if (likely(kw == NULL || PyDict_Size(kw) == 0))
28736 return (*meth)(self, arg);
28737 break;
28738 case METH_VARARGS | METH_KEYWORDS:
28739 return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
28740 case METH_NOARGS:
28741 if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
28742#if CYTHON_ASSUME_SAFE_MACROS
28743 size = PyTuple_GET_SIZE(arg);
28744#else
28745 size = PyTuple_Size(arg);
28746 if (unlikely(size < 0)) return NULL;
28747#endif
28748 if (likely(size == 0))
28749 return (*meth)(self, NULL);
28750#if CYTHON_COMPILING_IN_LIMITED_API
28751 py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
28752 if (!py_name) return NULL;
28753 PyErr_Format(PyExc_TypeError,
28754 "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
28755 py_name, size);
28756 Py_DECREF(py_name);
28757#else
28758 PyErr_Format(PyExc_TypeError,
28759 "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
28760 f->m_ml->ml_name, size);
28761#endif
28762 return NULL;
28763 }
28764 break;
28765 case METH_O:
28766 if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
28767#if CYTHON_ASSUME_SAFE_MACROS
28768 size = PyTuple_GET_SIZE(arg);
28769#else
28770 size = PyTuple_Size(arg);
28771 if (unlikely(size < 0)) return NULL;
28772#endif
28773 if (likely(size == 1)) {
28774 PyObject *result, *arg0;

Callers 2

__Pyx_CyFunction_CallFunction · 0.70

Calls 1

Tested by

no test coverage detected