================= Numpy Ufunc C-API ================= :: PyObject * PyUFunc_FromFuncAndData(PyUFuncGenericFunction *func, void **data, char *types, int ntypes, int nin, int nout, int identity, char *name, char *doc, int check_return) :: int PyUFunc_RegisterLoopForType(PyUFuncObject *ufunc, int usertype, PyUFuncGenericFunction function, int *arg_types, void *data) :: int PyUFunc_GenericFunction(PyUFuncObject *self, PyObject *args, PyObject *kwds, PyArrayObject **mps) This generic function is called with the ufunc object, the arguments to it, and an array of (pointers to) PyArrayObjects which are NULL. The arguments are parsed and placed in mps in construct_loop (construct_arrays) :: void PyUFunc_f_f_As_d_d(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_d_d(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_f_f(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_g_g(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_F_F_As_D_D(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_F_F(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_D_D(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_G_G(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_O_O(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_ff_f_As_dd_d(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_ff_f(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_dd_d(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_gg_g(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_FF_F_As_DD_D(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_DD_D(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_FF_F(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_GG_G(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_OO_O(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_O_O_method(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_OO_O_method(char **args, intp *dimensions, intp *steps, void *func) :: void PyUFunc_On_Om(char **args, intp *dimensions, intp *steps, void *func) :: int PyUFunc_GetPyValues(char *name, int *bufsize, int *errmask, PyObject **errobj) :: int PyUFunc_checkfperr(int errmask, PyObject *errobj, int *first) :: void PyUFunc_clearfperr() :: int PyUFunc_getfperr(void ) :: int PyUFunc_handlefperr(int errmask, PyObject *errobj, int retstatus, int *first) :: int PyUFunc_ReplaceLoopBySignature(PyUFuncObject *func, PyUFuncGenericFunction newfunc, int *signature, PyUFuncGenericFunction *oldfunc) :: PyObject * PyUFunc_FromFuncAndDataAndSignature(PyUFuncGenericFunction *func, void **data, char *types, int ntypes, int nin, int nout, int identity, char *name, char *doc, int check_return, const char *signature) :: int PyUFunc_SetUsesArraysAsData(void **data, size_t i)