FunctionImplementationContainer class

(Shortest import: from brian2.core.functions import FunctionImplementationContainer)

class brian2.core.functions.FunctionImplementationContainer(function)[source]

Bases: Mapping

Helper object to store implementations and give access in a dictionary-like fashion, using CodeGenerator implementations as a fallback for CodeObject 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 and namespace arguments are expected to be callables that will be called in Network.before_run with the owner of the CodeObject as an argument. This allows to generate code that depends on details of the context it is run in, e.g. the dt 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.