bundles / scipy 1.17.1 / scipy / _lib / _ccallback / LowLevelCallable
class
scipy._lib._ccallback:LowLevelCallable
source: /scipy/_lib/_ccallback.py :26
Signature
class LowLevelCallable ( function , user_data = None , signature = None ) Members
Summary
Low-level callback function.
Extended Summary
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 LowLevelCallable objects, 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.
signature: str, optionalSignature of the function. If omitted, determined from function, if possible.
Attributes
functionCallback function given.
user_dataUser data given.
signatureSignature of the function.
Methods
from_cythonClass method for constructing callables from Cython C-exported functions.
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.
Aliases
-
scipy.LowLevelCallable