LowLevelCallable — SciPy v1.15.3 Manual (original) (raw)
scipy.
class scipy.LowLevelCallable(function, user_data=None, signature=None)[source]#
Low-level callback function.
Some functions in SciPy take as arguments callback functions, which can either be python callables or low-level compiled functions. Using compiled callback functions can improve performance somewhat by avoiding wrapping data in Python objects.
Such low-level functions in SciPy are wrapped in LowLevelCallableobjects, which can be constructed from function pointers obtained from ctypes, cffi, Cython, or contained in Python PyCapsule objects.
Parameters:
function{PyCapsule, ctypes function pointer, cffi function pointer}
Low-level callback function.
user_data{PyCapsule, ctypes void pointer, cffi void pointer}
User data to pass on to the callback function.
signaturestr, optional
Signature of the function. If omitted, determined from function, if possible.
Notes
The argument function
can be one of:
- PyCapsule, whose name contains the C function signature
- ctypes function pointer
- cffi function pointer
The signature of the low-level callback must match one of those expected by the routine it is passed to.
If constructing low-level functions from a PyCapsule, the name of the capsule must be the corresponding signature, in the format:
return_type (arg1_type, arg2_type, ...)
For example:
"void (double)" "double (double, int *, void *)"
The context of a PyCapsule passed in as function
is used as user_data
, if an explicit value for user_data
was not given.
Attributes:
function
Callback function given.
user_data
User data given.
signature
Signature of the function.
Methods
from_cython(module, name[, user_data, signature]) | Create a low-level callback function from an exported Cython function. |
---|