pub trait CircuitNode {
// Required methods
fn id(&self) -> NodeId;
fn sources(&self) -> Vec<NodeId>;
fn get_num_vars(&self) -> usize;
}Expand description
A Node in the directed acyclic graph (DAG). The directed edges in the DAG model the dependencies between nodes, with the dependent node being the target of the edge and the dependency being the source.
All “contiguous” MLEs, e.g. sector, gate, matmul, output, input shred
Required Methods§
Sourcefn sources(&self) -> Vec<NodeId>
fn sources(&self) -> Vec<NodeId>
Return the ids of the nodes that this node depends upon, i.e. nodes whose values must be known before the values of this node can be node. These are the source nodes of the directed edges of the DAG that terminate at this node.
Sourcefn get_num_vars(&self) -> usize
fn get_num_vars(&self) -> usize
Get the number of variables used to represent the data in this node.