FunctionImplementationContainer class¶
(Shortest import: from brian2.core.functions import FunctionImplementationContainer)
-
class
brian2.core.functions.
FunctionImplementationContainer
(function)[source]¶ Bases:
collections.abc.Mapping
Helper object to store implementations and give access in a dictionary-like fashion, using
CodeGenerator
implementations as a fallback forCodeObject
implementations.Methods
add_dynamic_implementation
(target, code[, …])Adds an “dynamic implementation” for this function.
add_implementation
(target, code[, …])add_numpy_implementation
(wrapped_func[, …])Add a numpy implementation to a
Function
.Details
-
add_dynamic_implementation
(target, code, namespace=None, dependencies=None, availability_check=None, name=None, compiler_kwds=None)[source]¶ Adds an “dynamic implementation” for this function.
code
andnamespace
arguments are expected to be callables that will be called inNetwork.before_run
with the owner of theCodeObject
as an argument. This allows to generate code that depends on details of the context it is run in, e.g. thedt
of a clock.
-
add_implementation
(target, code, namespace=None, dependencies=None, availability_check=None, name=None, compiler_kwds=None)[source]¶
-
add_numpy_implementation
(wrapped_func, dependencies=None, discard_units=None, compiler_kwds=None)[source]¶ Add a numpy implementation to a
Function
.- Parameters
function :
Function
The function description for which an implementation should be added.
wrapped_func : callable
The original function (that will be used for the numpy implementation)
dependencies : list of
Function
, optionalA list of functions this function needs.
discard_units : bool, optional
See
implementation()
.
-