
=================
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 **op)


This generic function is called with the ufunc object, the arguments to it,
and an array of (pointers to) PyArrayObjects which are NULL.

::

  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)


On return, if errobj is populated with a non-NULL value, the caller
owns a new reference to 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)


::

  void
  PyUFunc_e_e(char **args, intp *dimensions, intp *steps, void *func)


::

  void
  PyUFunc_e_e_As_f_f(char **args, intp *dimensions, intp *steps, void
                     *func)


::

  void
  PyUFunc_e_e_As_d_d(char **args, intp *dimensions, intp *steps, void
                     *func)


::

  void
  PyUFunc_ee_e(char **args, intp *dimensions, intp *steps, void *func)


::

  void
  PyUFunc_ee_e_As_ff_f(char **args, intp *dimensions, intp *steps, void
                       *func)


::

  void
  PyUFunc_ee_e_As_dd_d(char **args, intp *dimensions, intp *steps, void
                       *func)


