forward_override
Attributes#
fastforward.forward_override.T = TypeVar('T')
module-attribute
#
Classes#
fastforward.forward_override.OverrideFn
#
Bases: Protocol[T]
flowchart TD
fastforward.forward_override.OverrideFn[OverrideFn]
click fastforward.forward_override.OverrideFn href "" "fastforward.forward_override.OverrideFn"
Protocol for override functions.
Override functions can be registered to override a quantizer. These acts as dynamic decorators that can be applied an removed at runtime.
fastforward.forward_override.OverrideHandle(quantizer)
#
Handle object which that can be used to remove a function override.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
quantizer
|
Quantizer
|
The quantizer that owns the override. |
required |
Attributes#
global_handles = 0
class-attribute
instance-attribute
#
handle_id = OverrideHandle.global_handles
instance-attribute
#
Methods#
remove()
#
Remove override associated with this handle.
Returns:
| Type | Description |
|---|---|
OverrideFn[Any] | None
|
(Callable) the override function associated with this handle |
Functions#
fastforward.forward_override.apply_overrides(context, overridden_fn, override_map)
#
Apply overrides in override_map to overridden_fn.
This returns a callable that, when applicable, calls functions overrides. These act similarly to decorators.
The overrides are applied in descending order of the key in override_map
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
Any
|
An object related to overridden fn that may store contextual data that is passed into the function overrides. |
required |
overridden_fn
|
Callable[..., T]
|
The function to override. |
required |
override_map
|
Mapping[int, OverrideFn[T]]
|
A mapping from int to overrides. The overrides are applied in order of the key. |
required |
Returns:
| Type | Description |
|---|---|
_WrappedOverriddenFn[T] | Callable[..., T]
|
(Callable[..., T]) wrapped overridden_fn, or overridden_fn if override_map |
_WrappedOverriddenFn[T] | Callable[..., T]
|
is empty. |