Register Bricks
- class fugu.bricks.register_bricks.Register(max_size, initial_value=0, name='Register', output_coding='Undefined', register_label=None, single_set=False)
Bases:
Brick
Brick that stores the binary encoding of an non-negative integer. This brick also provides simple controls such as “recall”, “clear”, and “set”
- build(graph, metadata, control_nodes, input_lists, input_codings)
Build Register brick.
- Parameters:
graph – networkx graph to define connections of the computational graph
metadata (dict) – dictionary to define the shapes and parameters of the brick
control_nodes (dict) –
dictionary of lists of auxillary networkx nodes. Expected keys:
’complete’ - A list of neurons that fire when the brick is done
input_lists (list) – list of nodes that will contain input
input_coding (list) – list of input coding formats. All coding types supported
- Returns:
graph of a computational elements and connections begin: dictionary of output parameters (shape, coding, layers, depth, etc) complete: dictionary of control nodes (‘complete’) output_lists (list): list of output self.output_codings (list): list of coding formats of output
- Return type:
graph
- class fugu.bricks.register_bricks.Max(default_size=-1, name='Max', output_coding='Undefined')
Bases:
Brick
Brick that calculates the maximum value of a collection of values stored as binary registers.
- build(graph, metadata, control_nodes, input_lists, input_codings)
Build Register brick.
- Parameters:
graph – networkx graph to define connections of the computational graph
metadata (dict) – dictionary to define the shapes and parameters of the brick
control_nodes (dict) –
dictionary of lists of auxillary networkx nodes. Expected keys:
’complete’ - A list of neurons that fire when the brick is done
input_lists (list) – list of nodes that will contain input
input_coding (list) – list of input coding formats. All coding types supported
- Returns:
graph of a computational elements and connections begin: dictionary of output parameters (shape, coding, layers, depth, etc) complete: dictionary of control nodes (‘complete’) output_lists: list of output self.output_codings: list of coding formats of output
- Return type:
graph
- class fugu.bricks.register_bricks.Addition(register_size=5, name='Addition', output_coding='Undefined')
Bases:
Brick
Brick that calculates the sum of two values stored as binary
- build(graph, metadata, control_nodes, input_lists, input_codings)
Build Addition brick. :param graph: networkx graph to define connections of the computational graph :param metadata: dictionary to define the shapes and parameters of the brick :type metadata: dict :param control_nodes: dictionary of lists of auxillary networkx nodes.
- Expected keys:
‘complete’ - A list of neurons that fire when the brick is done
- Parameters:
input_lists (list) – list of nodes that will contain input
input_coding (list) – list of input coding formats. All coding types supported
- Returns:
graph of a computational elements and connections begin (dict): dictionary of output parameters (shape, coding, layers, depth, etc) complete (dict): dictionary of control nodes (‘complete’) output_lists (list): list of output self.output_codings (list): list of coding formats of output
- Return type:
graph
- Raises:
ValueError – Too many inputs! {} can only support two inputs, received: {}
- class fugu.bricks.register_bricks.Subtraction(register_size=5, name='Subtraction', output_coding='Undefined')
Bases:
CompoundBrick
Brick that calculates the difference of two values stored as binary values. The brick subtracts the second (Y) input from the first (X), i.e. this brick returns the value of X - Y
- build(graph, metadata, control_nodes, input_lists, input_codings)
Build Subtraction brick. :param graph: networkx graph to define connections of the computational graph :param metadata: dictionary to define the shapes and parameters of the brick :param control_nodes: dictionary of lists of auxillary networkx nodes.
- Expected keys:
‘complete’ - A list of neurons that fire when the brick is done
- Parameters:
input_lists – list of nodes that will contain input
input_coding – list of input coding formats. All coding types supported
- Returns:
graph of a computational elements and connections complete: dictionary of control nodes (‘complete’) begin: dictionary of output parameters (shape, coding, layers, depth, etc) output_lists (list): list of output self.output_codings (list): list of coding formats of output
- Return type:
graph