Trait halo2_proofs::plonk::Circuit
source · [−]pub trait Circuit<F: Field> {
type Config: Clone;
type FloorPlanner: FloorPlanner;
fn without_witnesses(&self) -> Self;
fn configure(meta: &mut ConstraintSystem<F>) -> Self::Config;
fn synthesize(
&self,
config: Self::Config,
layouter: impl Layouter<F>
) -> Result<(), Error>;
}
Expand description
This is a trait that circuits provide implementations for so that the
backend prover can ask the circuit to synthesize using some given
ConstraintSystem
implementation.
Required Associated Types
sourcetype FloorPlanner: FloorPlanner
type FloorPlanner: FloorPlanner
The floor planner used for this circuit. This is an associated type of the
Circuit
trait because its behaviour is circuit-critical.
Required Methods
sourcefn without_witnesses(&self) -> Self
fn without_witnesses(&self) -> Self
Returns a copy of this circuit with no witness values (i.e. all witnesses set to
None
). For most circuits, this will be equal to Self::default()
.
sourcefn configure(meta: &mut ConstraintSystem<F>) -> Self::Config
fn configure(meta: &mut ConstraintSystem<F>) -> Self::Config
The circuit is given an opportunity to describe the exact gate arrangement, column arrangement, etc.