compute_gate_data_outputs

Function compute_gate_data_outputs 

Source
pub fn compute_gate_data_outputs<F: Field>(
    wiring: Vec<(u32, u32, u32)>,
    num_dataparallel_bits: usize,
    lhs_data: &MultilinearExtension<F>,
    rhs_data: &MultilinearExtension<F>,
    gate_operation: BinaryOperation,
) -> MultilinearExtension<F>
Expand description

Computes the correct result of a gate layer, Used for data generation and testing. Arguments:

  • wiring: A vector of tuples representing the “nonzero” gates, especially useful in the sparse case the format is (z, x, y) where the gate at label z is the output of performing an operation on gates with labels x and y.

  • num_dataparallel_bits: The number of bits representing the number of “dataparallel” copies of the circuit.

  • lhs_data: The left side of the expression, i.e. the mle that makes up the “x” variables.

  • rhs_data: The mles that are constructed when initializing phase 2 (binding the y variables).

  • gate_operation: The gate operation representing the fan-in-two relationship.