This commit is contained in:
Nicholas Ward 2023-04-17 11:23:58 -07:00
parent 975a35c3e0
commit f3f3641fb5
2 changed files with 6 additions and 6 deletions

View File

@ -41,7 +41,7 @@ fn main() -> Result<()> {
pw.set_target(initial_a, F::ZERO); pw.set_target(initial_a, F::ZERO);
pw.set_target(initial_b, F::ONE); pw.set_target(initial_b, F::ONE);
let data = builder.build_deterministic::<C>(); let data = builder.build_without_randomizing::<C>();
let common_circuit_data_serialized = serde_json::to_string(&data.common).unwrap(); let common_circuit_data_serialized = serde_json::to_string(&data.common).unwrap();
fs::write("common_circuit_data.json", common_circuit_data_serialized) fs::write("common_circuit_data.json", common_circuit_data_serialized)

View File

@ -740,7 +740,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
/// Builds a "full circuit", with both prover and verifier data. /// Builds a "full circuit", with both prover and verifier data.
fn build_inner<C: GenericConfig<D, F = F>>( fn build_inner<C: GenericConfig<D, F = F>>(
mut self, mut self,
deterministic: bool, randomize_unused_pi_wires: bool,
) -> CircuitData<F, C, D> ) -> CircuitData<F, C, D>
where where
[(); C::HCO::WIDTH]:, [(); C::HCO::WIDTH]:,
@ -765,7 +765,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
{ {
self.connect(hash_part, Target::wire(pi_gate, wire)) self.connect(hash_part, Target::wire(pi_gate, wire))
} }
if !deterministic { if randomize_unused_pi_wires {
self.randomize_unused_pi_wires(pi_gate); self.randomize_unused_pi_wires(pi_gate);
} }
@ -956,16 +956,16 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
[(); C::HCO::WIDTH]:, [(); C::HCO::WIDTH]:,
[(); C::HCI::WIDTH]:, [(); C::HCI::WIDTH]:,
{ {
self.build_inner(false) self.build_inner(true)
} }
/// Build without randomizing PI wires /// Build without randomizing PI wires
pub fn build_deterministic<C: GenericConfig<D, F = F>>(self) -> CircuitData<F, C, D> pub fn build_without_randomizing<C: GenericConfig<D, F = F>>(self) -> CircuitData<F, C, D>
where where
[(); C::HCO::WIDTH]:, [(); C::HCO::WIDTH]:,
[(); C::HCI::WIDTH]:, [(); C::HCI::WIDTH]:,
{ {
self.build_inner(true) self.build_inner(false)
} }
/// Builds a "prover circuit", with data needed to generate proofs but not verify them. /// Builds a "prover circuit", with data needed to generate proofs but not verify them.