pub trait DecomposableTracer<Env> {
    // Required methods
    fn new(domain_size: usize, env: &mut Env) -> Self;
    fn pad_witnesses(&mut self);
}
Expand description

DecomposableTracer builds traces for some program executions. The constant type N_REL is defined as the maximum number of relation columns the trace can use per row. The type C encodes the folding configuration, from which the selector, and scalar field are derived. Examples of selectors are:

  • For Keccak, Step encodes the row being performed at a time: round, squeeze, padding, etc…
  • For MIPS, Instruction encodes the CPU instruction being executed: add, sub, load, store, etc…

Required Methods§

source

fn new(domain_size: usize, env: &mut Env) -> Self

Create a new decomposable trace with the given domain size, and environment.

source

fn pad_witnesses(&mut self)

Pads the rows of the witnesses until reaching the domain size using the first row repeatedly. It does not add selector columns.

Implementors§

source§

impl DecomposableTracer<KeccakEnv<<<KeccakConfig as FoldingConfig>::Curve as AffineCurve>::ScalarField>> for DecomposedKeccakTrace

source§

impl DecomposableTracer<Env<<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineCurve>::ScalarField>> for DecomposedMIPSTrace