diff --git a/src/field/extension_field/target.rs b/src/field/extension_field/target.rs index ab3c3619..216ef1e6 100644 --- a/src/field/extension_field/target.rs +++ b/src/field/extension_field/target.rs @@ -16,14 +16,11 @@ impl ExtensionTarget { self.0 } - pub fn frobenius>( - &self, - builder: &mut CircuitBuilder, - ) -> Self { + pub fn frobenius>(&self, builder: &mut CircuitBuilder) -> Self { self.repeated_frobenius(1, builder) } - pub fn repeated_frobenius>( + pub fn repeated_frobenius>( &self, count: usize, builder: &mut CircuitBuilder, @@ -74,7 +71,7 @@ impl ExtensionAlgebraTarget { } } -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { pub fn constant_extension(&mut self, c: F::Extension) -> ExtensionTarget { let c_parts = c.to_basefield_array(); let mut parts = [self.zero(); D]; diff --git a/src/fri/recursive_verifier.rs b/src/fri/recursive_verifier.rs index 14abe937..165bed41 100644 --- a/src/fri/recursive_verifier.rs +++ b/src/fri/recursive_verifier.rs @@ -18,7 +18,7 @@ use crate::util::reducing::ReducingFactorTarget; use crate::util::{log2_strict, reverse_index_bits_in_place}; use crate::with_context; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Computes P'(x^arity) from {P(x*g^i)}_(i=0..arity), where g is a `arity`-th root of unity /// and P' is the FRI reduced polynomial. fn compute_evaluation( diff --git a/src/gadgets/arithmetic.rs b/src/gadgets/arithmetic.rs index da67b131..63c17f32 100644 --- a/src/gadgets/arithmetic.rs +++ b/src/gadgets/arithmetic.rs @@ -6,7 +6,7 @@ use crate::gates::exponentiation::ExponentiationGate; use crate::iop::target::{BoolTarget, Target}; use crate::plonk::circuit_builder::CircuitBuilder; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Computes `-x`. pub fn neg(&mut self, x: Target) -> Target { let neg_one = self.neg_one(); diff --git a/src/gadgets/arithmetic_extension.rs b/src/gadgets/arithmetic_extension.rs index e963df00..e9fbfb5c 100644 --- a/src/gadgets/arithmetic_extension.rs +++ b/src/gadgets/arithmetic_extension.rs @@ -11,7 +11,7 @@ use crate::iop::witness::{PartitionWitness, Witness}; use crate::plonk::circuit_builder::CircuitBuilder; use crate::util::bits_u64; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Finds the last available arithmetic gate with the given constants or add one if there aren't any. /// Returns `(g,i)` such that there is an arithmetic gate with the given constants at index /// `g` and the gate's `i`-th operation is available. @@ -490,9 +490,7 @@ struct QuotientGeneratorExtension { quotient: ExtensionTarget, } -impl, const D: usize> SimpleGenerator - for QuotientGeneratorExtension -{ +impl, const D: usize> SimpleGenerator for QuotientGeneratorExtension { fn dependencies(&self) -> Vec { let mut deps = self.numerator.to_target_array().to_vec(); deps.extend(&self.denominator.to_target_array()); @@ -515,7 +513,7 @@ pub struct PowersTarget { } impl PowersTarget { - pub fn next>( + pub fn next>( &mut self, builder: &mut CircuitBuilder, ) -> ExtensionTarget { @@ -524,7 +522,7 @@ impl PowersTarget { result } - pub fn repeated_frobenius>( + pub fn repeated_frobenius>( self, k: usize, builder: &mut CircuitBuilder, @@ -537,7 +535,7 @@ impl PowersTarget { } } -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { pub fn powers(&mut self, base: ExtensionTarget) -> PowersTarget { PowersTarget { base, diff --git a/src/gadgets/interpolation.rs b/src/gadgets/interpolation.rs index 89bf115c..cc743ce3 100644 --- a/src/gadgets/interpolation.rs +++ b/src/gadgets/interpolation.rs @@ -5,7 +5,7 @@ use crate::gates::interpolation::InterpolationGate; use crate::iop::target::Target; use crate::plonk::circuit_builder::CircuitBuilder; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Interpolate a list of point/evaluation pairs at a given point. /// Returns the evaluation of the interpolated polynomial at `evaluation_point`. pub fn interpolate( diff --git a/src/gadgets/permutation.rs b/src/gadgets/permutation.rs index 22fb097d..e65708ca 100644 --- a/src/gadgets/permutation.rs +++ b/src/gadgets/permutation.rs @@ -10,7 +10,7 @@ use crate::iop::witness::{PartitionWitness, Witness}; use crate::plonk::circuit_builder::CircuitBuilder; use crate::util::bimap::bimap_from_lists; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Assert that two lists of expressions evaluate to permutations of one another. pub fn assert_permutation(&mut self, a: Vec>, b: Vec>) { assert_eq!( diff --git a/src/gadgets/polynomial.rs b/src/gadgets/polynomial.rs index 9f631c10..8acc1587 100644 --- a/src/gadgets/polynomial.rs +++ b/src/gadgets/polynomial.rs @@ -12,7 +12,7 @@ impl PolynomialCoeffsExtTarget { self.0.len() } - pub fn eval_scalar>( + pub fn eval_scalar>( &self, builder: &mut CircuitBuilder, point: Target, @@ -22,7 +22,7 @@ impl PolynomialCoeffsExtTarget { point.reduce(&self.0, builder) } - pub fn eval>( + pub fn eval>( &self, builder: &mut CircuitBuilder, point: ExtensionTarget, @@ -41,7 +41,7 @@ impl PolynomialCoeffsExtAlgebraTarget { point: ExtensionTarget, ) -> ExtensionAlgebraTarget where - F: RichField + Extendable, + F: Extendable, { let mut acc = builder.zero_ext_algebra(); for &c in self.0.iter().rev() { @@ -56,7 +56,7 @@ impl PolynomialCoeffsExtAlgebraTarget { point: ExtensionAlgebraTarget, ) -> ExtensionAlgebraTarget where - F: RichField + Extendable, + F: Extendable, { let mut acc = builder.zero_ext_algebra(); for &c in self.0.iter().rev() { diff --git a/src/gadgets/random_access.rs b/src/gadgets/random_access.rs index 3744a90a..02620e9d 100644 --- a/src/gadgets/random_access.rs +++ b/src/gadgets/random_access.rs @@ -5,7 +5,7 @@ use crate::gates::random_access::RandomAccessGate; use crate::iop::target::Target; use crate::plonk::circuit_builder::CircuitBuilder; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Finds the last available random access gate with the given `vec_size` or add one if there aren't any. /// Returns `(g,i)` such that there is a random access gate with the given `vec_size` at index /// `g` and the gate's `i`-th random access is available. diff --git a/src/gadgets/range_check.rs b/src/gadgets/range_check.rs index 4409b103..8b80bde3 100644 --- a/src/gadgets/range_check.rs +++ b/src/gadgets/range_check.rs @@ -5,7 +5,7 @@ use crate::iop::target::{BoolTarget, Target}; use crate::iop::witness::{PartitionWitness, Witness}; use crate::plonk::circuit_builder::CircuitBuilder; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Checks that `x < 2^n_log` using a `BaseSumGate`. pub fn range_check(&mut self, x: Target, n_log: usize) { self.split_le(x, n_log); diff --git a/src/gadgets/select.rs b/src/gadgets/select.rs index 73004ffc..25372783 100644 --- a/src/gadgets/select.rs +++ b/src/gadgets/select.rs @@ -4,7 +4,7 @@ use crate::field::field_types::RichField; use crate::iop::target::{BoolTarget, Target}; use crate::plonk::circuit_builder::CircuitBuilder; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Selects `x` or `y` based on `b`, i.e., this returns `if b { x } else { y }`. pub fn select_ext( &mut self, diff --git a/src/gadgets/sorting.rs b/src/gadgets/sorting.rs index c1c98c78..619dfdb8 100644 --- a/src/gadgets/sorting.rs +++ b/src/gadgets/sorting.rs @@ -26,7 +26,7 @@ pub struct MemoryOpTarget { value: Target, } -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { pub fn assert_permutation_memory_ops(&mut self, a: &[MemoryOpTarget], b: &[MemoryOpTarget]) { let a_chunks: Vec> = a .iter() @@ -116,15 +116,13 @@ impl, const D: usize> CircuitBuilder { } #[derive(Debug)] -struct MemoryOpSortGenerator, const D: usize> { +struct MemoryOpSortGenerator, const D: usize> { input_ops: Vec, output_ops: Vec, _phantom: PhantomData, } -impl, const D: usize> SimpleGenerator - for MemoryOpSortGenerator -{ +impl, const D: usize> SimpleGenerator for MemoryOpSortGenerator { fn dependencies(&self) -> Vec { self.input_ops .iter() diff --git a/src/gadgets/split_base.rs b/src/gadgets/split_base.rs index 17ec263d..7a4bf967 100644 --- a/src/gadgets/split_base.rs +++ b/src/gadgets/split_base.rs @@ -8,7 +8,7 @@ use crate::iop::target::{BoolTarget, Target}; use crate::iop::witness::{PartitionWitness, Witness}; use crate::plonk::circuit_builder::CircuitBuilder; -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Split the given element into a list of targets, where each one represents a /// base-B limb of the element, with little-endian ordering. pub fn split_le_base(&mut self, x: Target, num_limbs: usize) -> Vec { diff --git a/src/gates/arithmetic.rs b/src/gates/arithmetic.rs index f04ef7f7..d3fa1fed 100644 --- a/src/gates/arithmetic.rs +++ b/src/gates/arithmetic.rs @@ -46,7 +46,7 @@ impl ArithmeticExtensionGate { } } -impl, const D: usize> Gate for ArithmeticExtensionGate { +impl, const D: usize> Gate for ArithmeticExtensionGate { fn id(&self) -> String { format!("{:?}", self) } @@ -155,16 +155,14 @@ impl, const D: usize> Gate for ArithmeticExte } #[derive(Clone, Debug)] -struct ArithmeticExtensionGenerator, const D: usize> { +struct ArithmeticExtensionGenerator, const D: usize> { gate_index: usize, const_0: F, const_1: F, i: usize, } -impl, const D: usize> SimpleGenerator - for ArithmeticExtensionGenerator -{ +impl, const D: usize> SimpleGenerator for ArithmeticExtensionGenerator { fn dependencies(&self) -> Vec { ArithmeticExtensionGate::::wires_ith_multiplicand_0(self.i) .chain(ArithmeticExtensionGate::::wires_ith_multiplicand_1( diff --git a/src/gates/arithmetic_u32.rs b/src/gates/arithmetic_u32.rs index 0aef9feb..3c333635 100644 --- a/src/gates/arithmetic_u32.rs +++ b/src/gates/arithmetic_u32.rs @@ -18,11 +18,11 @@ pub const NUM_U32_ARITHMETIC_OPS: usize = 3; /// A gate to perform a basic mul-add on 32-bit values (we assume they are range-checked beforehand). #[derive(Debug)] -pub struct U32ArithmeticGate, const D: usize> { +pub struct U32ArithmeticGate, const D: usize> { _phantom: PhantomData, } -impl, const D: usize> U32ArithmeticGate { +impl, const D: usize> U32ArithmeticGate { pub fn wire_ith_multiplicand_0(i: usize) -> usize { debug_assert!(i < NUM_U32_ARITHMETIC_OPS); 5 * i @@ -59,7 +59,7 @@ impl, const D: usize> U32ArithmeticGate { } } -impl, const D: usize> Gate for U32ArithmeticGate { +impl, const D: usize> Gate for U32ArithmeticGate { fn id(&self) -> String { format!("{:?}", self) } @@ -243,15 +243,13 @@ impl, const D: usize> Gate for U32ArithmeticG } #[derive(Clone, Debug)] -struct U32ArithmeticGenerator, const D: usize> { +struct U32ArithmeticGenerator, const D: usize> { gate_index: usize, i: usize, _phantom: PhantomData, } -impl, const D: usize> SimpleGenerator - for U32ArithmeticGenerator -{ +impl, const D: usize> SimpleGenerator for U32ArithmeticGenerator { fn dependencies(&self) -> Vec { let local_target = |input| Target::wire(self.gate_index, input); diff --git a/src/gates/base_sum.rs b/src/gates/base_sum.rs index 98f60bfa..1a3dac47 100644 --- a/src/gates/base_sum.rs +++ b/src/gates/base_sum.rs @@ -38,7 +38,7 @@ impl BaseSumGate { } } -impl, const D: usize, const B: usize> Gate for BaseSumGate { +impl, const D: usize, const B: usize> Gate for BaseSumGate { fn id(&self) -> String { format!("{:?} + Base: {}", self, B) } diff --git a/src/gates/comparison.rs b/src/gates/comparison.rs index a47145e8..2cb6458e 100644 --- a/src/gates/comparison.rs +++ b/src/gates/comparison.rs @@ -21,7 +21,7 @@ pub struct ComparisonGate, const D: usize> { _phantom: PhantomData, } -impl, const D: usize> ComparisonGate { +impl, const D: usize> ComparisonGate { pub fn new(num_bits: usize, num_chunks: usize) -> Self { debug_assert!(num_bits < bits_u64(F::ORDER)); Self { @@ -73,7 +73,7 @@ impl, const D: usize> ComparisonGate { } } -impl, const D: usize> Gate for ComparisonGate { +impl, const D: usize> Gate for ComparisonGate { fn id(&self) -> String { format!("{:?}", self, D) } @@ -327,14 +327,12 @@ impl, const D: usize> Gate for ComparisonGate } #[derive(Debug)] -struct ComparisonGenerator, const D: usize> { +struct ComparisonGenerator, const D: usize> { gate_index: usize, gate: ComparisonGate, } -impl, const D: usize> SimpleGenerator - for ComparisonGenerator -{ +impl, const D: usize> SimpleGenerator for ComparisonGenerator { fn dependencies(&self) -> Vec { let local_target = |input| Target::wire(self.gate_index, input); diff --git a/src/gates/constant.rs b/src/gates/constant.rs index 95123be3..1c36c73d 100644 --- a/src/gates/constant.rs +++ b/src/gates/constant.rs @@ -27,7 +27,7 @@ impl ConstantGate { } } -impl, const D: usize> Gate for ConstantGate { +impl, const D: usize> Gate for ConstantGate { fn id(&self) -> String { format!("{:?}", self) } diff --git a/src/gates/exponentiation.rs b/src/gates/exponentiation.rs index 66ae2f0b..bfb8ccba 100644 --- a/src/gates/exponentiation.rs +++ b/src/gates/exponentiation.rs @@ -14,12 +14,12 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// A gate for raising a value to a power. #[derive(Clone, Debug)] -pub(crate) struct ExponentiationGate, const D: usize> { +pub(crate) struct ExponentiationGate, const D: usize> { pub num_power_bits: usize, pub _phantom: PhantomData, } -impl, const D: usize> ExponentiationGate { +impl, const D: usize> ExponentiationGate { pub fn new(num_power_bits: usize) -> Self { Self { num_power_bits, @@ -59,7 +59,7 @@ impl, const D: usize> ExponentiationGate { } } -impl, const D: usize> Gate for ExponentiationGate { +impl, const D: usize> Gate for ExponentiationGate { fn id(&self) -> String { format!("{:?}", self, D) } @@ -205,14 +205,12 @@ impl, const D: usize> Gate for Exponentiation } #[derive(Debug)] -struct ExponentiationGenerator, const D: usize> { +struct ExponentiationGenerator, const D: usize> { gate_index: usize, gate: ExponentiationGate, } -impl, const D: usize> SimpleGenerator - for ExponentiationGenerator -{ +impl, const D: usize> SimpleGenerator for ExponentiationGenerator { fn dependencies(&self) -> Vec { let local_target = |input| Target::wire(self.gate_index, input); diff --git a/src/gates/gate.rs b/src/gates/gate.rs index b882c336..8c57d54d 100644 --- a/src/gates/gate.rs +++ b/src/gates/gate.rs @@ -11,7 +11,7 @@ use crate::plonk::circuit_builder::CircuitBuilder; use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// A custom gate. -pub trait Gate, const D: usize>: 'static + Send + Sync { +pub trait Gate, const D: usize>: 'static + Send + Sync { fn id(&self) -> String; fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec; @@ -120,9 +120,9 @@ pub trait Gate, const D: usize>: 'static + Send + S /// A wrapper around an `Rc` which implements `PartialEq`, `Eq` and `Hash` based on gate IDs. #[derive(Clone)] -pub struct GateRef, const D: usize>(pub(crate) Arc>); +pub struct GateRef, const D: usize>(pub(crate) Arc>); -impl, const D: usize> GateRef { +impl, const D: usize> GateRef { pub fn new>(gate: G) -> GateRef { GateRef(Arc::new(gate)) } diff --git a/src/gates/gmimc.rs b/src/gates/gmimc.rs index 7cdd5fe2..cdeba9e3 100644 --- a/src/gates/gmimc.rs +++ b/src/gates/gmimc.rs @@ -19,17 +19,11 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// It has a flag which can be used to swap the first four inputs with the next four, for ordering /// sibling digests. #[derive(Debug)] -pub struct GMiMCGate< - F: RichField + Extendable + GMiMC, - const D: usize, - const WIDTH: usize, -> { +pub struct GMiMCGate + GMiMC, const D: usize, const WIDTH: usize> { _phantom: PhantomData, } -impl + GMiMC, const D: usize, const WIDTH: usize> - GMiMCGate -{ +impl + GMiMC, const D: usize, const WIDTH: usize> GMiMCGate { pub fn new() -> Self { GMiMCGate { _phantom: PhantomData, @@ -61,7 +55,7 @@ impl + GMiMC, const D: usize, const WIDTH: u } } -impl + GMiMC, const D: usize, const WIDTH: usize> Gate +impl + GMiMC, const D: usize, const WIDTH: usize> Gate for GMiMCGate { fn id(&self) -> String { @@ -242,17 +236,13 @@ impl + GMiMC, const D: usize, const WIDTH: u } #[derive(Debug)] -struct GMiMCGenerator< - F: RichField + Extendable + GMiMC, - const D: usize, - const WIDTH: usize, -> { +struct GMiMCGenerator + GMiMC, const D: usize, const WIDTH: usize> { gate_index: usize, _phantom: PhantomData, } -impl + GMiMC, const D: usize, const WIDTH: usize> - SimpleGenerator for GMiMCGenerator +impl + GMiMC, const D: usize, const WIDTH: usize> SimpleGenerator + for GMiMCGenerator { fn dependencies(&self) -> Vec { let mut dep_input_indices = Vec::with_capacity(WIDTH + 1); diff --git a/src/gates/insertion.rs b/src/gates/insertion.rs index 5d49bf5c..dcb7eb5d 100644 --- a/src/gates/insertion.rs +++ b/src/gates/insertion.rs @@ -15,12 +15,12 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// A gate for inserting a value into a list at a non-deterministic location. #[derive(Clone, Debug)] -pub(crate) struct InsertionGate, const D: usize> { +pub(crate) struct InsertionGate, const D: usize> { pub vec_size: usize, _phantom: PhantomData, } -impl, const D: usize> InsertionGate { +impl, const D: usize> InsertionGate { pub fn new(vec_size: usize) -> Self { Self { vec_size, @@ -70,7 +70,7 @@ impl, const D: usize> InsertionGate { } } -impl, const D: usize> Gate for InsertionGate { +impl, const D: usize> Gate for InsertionGate { fn id(&self) -> String { format!("{:?}", self, D) } diff --git a/src/gates/interpolation.rs b/src/gates/interpolation.rs index 63f10326..ebd58464 100644 --- a/src/gates/interpolation.rs +++ b/src/gates/interpolation.rs @@ -23,12 +23,12 @@ use crate::polynomial::polynomial::PolynomialCoeffs; /// to evaluate the interpolant at. It computes the interpolant and outputs its evaluation at the /// given point. #[derive(Clone, Debug)] -pub(crate) struct InterpolationGate, const D: usize> { +pub(crate) struct InterpolationGate, const D: usize> { pub num_points: usize, _phantom: PhantomData, } -impl, const D: usize> InterpolationGate { +impl, const D: usize> InterpolationGate { pub fn new(num_points: usize) -> Self { Self { num_points, @@ -100,7 +100,7 @@ impl, const D: usize> InterpolationGate { } } -impl, const D: usize> Gate for InterpolationGate { +impl, const D: usize> Gate for InterpolationGate { fn id(&self) -> String { format!("{:?}", self, D) } @@ -221,15 +221,13 @@ impl, const D: usize> Gate for InterpolationG } #[derive(Debug)] -struct InterpolationGenerator, const D: usize> { +struct InterpolationGenerator, const D: usize> { gate_index: usize, gate: InterpolationGate, _phantom: PhantomData, } -impl, const D: usize> SimpleGenerator - for InterpolationGenerator -{ +impl, const D: usize> SimpleGenerator for InterpolationGenerator { fn dependencies(&self) -> Vec { let local_target = |input| { Target::Wire(Wire { diff --git a/src/gates/noop.rs b/src/gates/noop.rs index a7851c9d..15549f4a 100644 --- a/src/gates/noop.rs +++ b/src/gates/noop.rs @@ -9,7 +9,7 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// A gate which does nothing. pub struct NoopGate; -impl, const D: usize> Gate for NoopGate { +impl, const D: usize> Gate for NoopGate { fn id(&self) -> String { "NoopGate".into() } diff --git a/src/gates/poseidon.rs b/src/gates/poseidon.rs index fc972c83..bea0d978 100644 --- a/src/gates/poseidon.rs +++ b/src/gates/poseidon.rs @@ -22,11 +22,11 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// It has a flag which can be used to swap the first four inputs with the next four, for ordering /// sibling digests. #[derive(Debug)] -pub struct PoseidonGate, const D: usize> { +pub struct PoseidonGate, const D: usize> { _phantom: PhantomData, } -impl, const D: usize> PoseidonGate { +impl, const D: usize> PoseidonGate { pub fn new() -> Self { PoseidonGate { _phantom: PhantomData, @@ -82,7 +82,7 @@ impl, const D: usize> PoseidonGate { } } -impl, const D: usize> Gate for PoseidonGate { +impl, const D: usize> Gate for PoseidonGate { fn id(&self) -> String { format!("{:?}", self, SPONGE_WIDTH) } @@ -375,7 +375,7 @@ impl, const D: usize> Gate for PoseidonGate + Poseidon, const D: usize> { +struct PoseidonGenerator + Poseidon, const D: usize> { gate_index: usize, _phantom: PhantomData, } diff --git a/src/gates/poseidon_mds.rs b/src/gates/poseidon_mds.rs index f75948c8..3af6d116 100644 --- a/src/gates/poseidon_mds.rs +++ b/src/gates/poseidon_mds.rs @@ -17,11 +17,11 @@ use crate::plonk::circuit_builder::CircuitBuilder; use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; #[derive(Debug)] -pub struct PoseidonMdsGate + Poseidon, const D: usize> { +pub struct PoseidonMdsGate + Poseidon, const D: usize> { _phantom: PhantomData, } -impl + Poseidon, const D: usize> PoseidonMdsGate { +impl + Poseidon, const D: usize> PoseidonMdsGate { pub fn new() -> Self { PoseidonMdsGate { _phantom: PhantomData, @@ -103,7 +103,7 @@ impl + Poseidon, const D: usize> PoseidonMdsGate + Poseidon, const D: usize> Gate for PoseidonMdsGate { +impl + Poseidon, const D: usize> Gate for PoseidonMdsGate { fn id(&self) -> String { format!("{:?}", self, SPONGE_WIDTH) } @@ -195,9 +195,7 @@ struct PoseidonMdsGenerator { gate_index: usize, } -impl + Poseidon, const D: usize> SimpleGenerator - for PoseidonMdsGenerator -{ +impl + Poseidon, const D: usize> SimpleGenerator for PoseidonMdsGenerator { fn dependencies(&self) -> Vec { (0..SPONGE_WIDTH) .flat_map(|i| { diff --git a/src/gates/public_input.rs b/src/gates/public_input.rs index f06df063..84783c9b 100644 --- a/src/gates/public_input.rs +++ b/src/gates/public_input.rs @@ -17,7 +17,7 @@ impl PublicInputGate { } } -impl, const D: usize> Gate for PublicInputGate { +impl, const D: usize> Gate for PublicInputGate { fn id(&self) -> String { "PublicInputGate".into() } diff --git a/src/gates/random_access.rs b/src/gates/random_access.rs index 8fa7092b..394a3375 100644 --- a/src/gates/random_access.rs +++ b/src/gates/random_access.rs @@ -14,13 +14,13 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// A gate for checking that a particular element of a list matches a given value. #[derive(Copy, Clone, Debug)] -pub(crate) struct RandomAccessGate, const D: usize> { +pub(crate) struct RandomAccessGate, const D: usize> { pub vec_size: usize, pub num_copies: usize, _phantom: PhantomData, } -impl, const D: usize> RandomAccessGate { +impl, const D: usize> RandomAccessGate { pub fn new(num_copies: usize, vec_size: usize) -> Self { Self { vec_size, @@ -87,7 +87,7 @@ impl, const D: usize> RandomAccessGate { } } -impl, const D: usize> Gate for RandomAccessGate { +impl, const D: usize> Gate for RandomAccessGate { fn id(&self) -> String { format!("{:?}", self, D) } @@ -224,15 +224,13 @@ impl, const D: usize> Gate for RandomAccessGa } #[derive(Debug)] -struct RandomAccessGenerator, const D: usize> { +struct RandomAccessGenerator, const D: usize> { gate_index: usize, gate: RandomAccessGate, copy: usize, } -impl, const D: usize> SimpleGenerator - for RandomAccessGenerator -{ +impl, const D: usize> SimpleGenerator for RandomAccessGenerator { fn dependencies(&self) -> Vec { let local_target = |input| Target::wire(self.gate_index, input); diff --git a/src/gates/switch.rs b/src/gates/switch.rs index 78babb00..f4971369 100644 --- a/src/gates/switch.rs +++ b/src/gates/switch.rs @@ -16,13 +16,13 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// A gate for conditionally swapping input values based on a boolean. #[derive(Clone, Debug)] -pub(crate) struct SwitchGate, const D: usize> { +pub(crate) struct SwitchGate, const D: usize> { pub(crate) chunk_size: usize, pub(crate) num_copies: usize, _phantom: PhantomData, } -impl, const D: usize> SwitchGate { +impl, const D: usize> SwitchGate { pub fn new(num_copies: usize, chunk_size: usize) -> Self { Self { chunk_size, @@ -66,7 +66,7 @@ impl, const D: usize> SwitchGate { } } -impl, const D: usize> Gate for SwitchGate { +impl, const D: usize> Gate for SwitchGate { fn id(&self) -> String { format!("{:?}", self, D) } @@ -194,13 +194,13 @@ impl, const D: usize> Gate for SwitchGate, const D: usize> { +struct SwitchGenerator, const D: usize> { gate_index: usize, gate: SwitchGate, copy: usize, } -impl, const D: usize> SwitchGenerator { +impl, const D: usize> SwitchGenerator { fn in_out_dependencies(&self) -> Vec { let local_target = |input| Target::wire(self.gate_index, input); @@ -287,7 +287,7 @@ impl, const D: usize> SwitchGenerator { } } -impl, const D: usize> WitnessGenerator for SwitchGenerator { +impl, const D: usize> WitnessGenerator for SwitchGenerator { fn watch_list(&self) -> Vec { self.in_out_dependencies() .union(self.in_switch_dependencies()) diff --git a/src/hash/hashing.rs b/src/hash/hashing.rs index 3a5cc48d..dbaf5a17 100644 --- a/src/hash/hashing.rs +++ b/src/hash/hashing.rs @@ -23,7 +23,7 @@ pub fn hash_or_noop>(inputs: Vec) -> Ha } } -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { pub fn hash_or_noop>(&mut self, inputs: Vec) -> HashOutTarget { let zero = self.zero(); if inputs.len() <= 4 { diff --git a/src/hash/merkle_proofs.rs b/src/hash/merkle_proofs.rs index 37dfdce6..29131f26 100644 --- a/src/hash/merkle_proofs.rs +++ b/src/hash/merkle_proofs.rs @@ -52,7 +52,7 @@ pub(crate) fn verify_merkle_proof>( Ok(()) } -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { /// Verifies that the given leaf data is present at the given index in the Merkle tree with the /// given cap. The index is given by it's little-endian bits. pub(crate) fn verify_merkle_proof>( diff --git a/src/hash/poseidon.rs b/src/hash/poseidon.rs index 377ff2b7..76305708 100644 --- a/src/hash/poseidon.rs +++ b/src/hash/poseidon.rs @@ -208,7 +208,7 @@ pub trait Poseidon: PrimeField { v: &[ExtensionTarget; WIDTH], ) -> ExtensionTarget where - Self: RichField + Extendable, + Self: Extendable, { debug_assert!(r < WIDTH); let mut res = builder.zero_extension(); @@ -264,7 +264,7 @@ pub trait Poseidon: PrimeField { state: &[ExtensionTarget; WIDTH], ) -> [ExtensionTarget; WIDTH] where - Self: RichField + Extendable, + Self: Extendable, { // If we have enough routed wires, we will use PoseidonMdsGate. let mds_gate = PoseidonMdsGate::::new(); @@ -311,7 +311,7 @@ pub trait Poseidon: PrimeField { builder: &mut CircuitBuilder, state: &mut [ExtensionTarget; WIDTH], ) where - Self: RichField + Extendable, + Self: Extendable, { for i in 0..WIDTH { let c = ::FAST_PARTIAL_FIRST_ROUND_CONSTANT[i]; @@ -359,7 +359,7 @@ pub trait Poseidon: PrimeField { state: &[ExtensionTarget; WIDTH], ) -> [ExtensionTarget; WIDTH] where - Self: RichField + Extendable, + Self: Extendable, { let mut result = [builder.zero_extension(); WIDTH]; @@ -444,7 +444,7 @@ pub trait Poseidon: PrimeField { r: usize, ) -> [ExtensionTarget; WIDTH] where - Self: RichField + Extendable, + Self: Extendable, { let s0 = state[0]; let mut d = builder.mul_const_extension( @@ -498,7 +498,7 @@ pub trait Poseidon: PrimeField { state: &mut [ExtensionTarget; WIDTH], round_ctr: usize, ) where - Self: RichField + Extendable, + Self: Extendable, { for i in 0..WIDTH { let c = ALL_ROUND_CONSTANTS[i + WIDTH * round_ctr]; @@ -523,7 +523,7 @@ pub trait Poseidon: PrimeField { x: ExtensionTarget, ) -> ExtensionTarget where - Self: RichField + Extendable, + Self: Extendable, { // x |--> x^7 builder.exp_u64_extension(x, 7) @@ -554,7 +554,7 @@ pub trait Poseidon: PrimeField { builder: &mut CircuitBuilder, state: &mut [ExtensionTarget; WIDTH], ) where - Self: RichField + Extendable, + Self: Extendable, { for i in 0..WIDTH { state[i] = ::sbox_monomial_recursive(builder, state[i]); diff --git a/src/plonk/circuit_builder.rs b/src/plonk/circuit_builder.rs index 888ee616..b9e42afb 100644 --- a/src/plonk/circuit_builder.rs +++ b/src/plonk/circuit_builder.rs @@ -42,7 +42,7 @@ use crate::util::partial_products::num_partial_products; use crate::util::timing::TimingTree; use crate::util::{log2_ceil, log2_strict, transpose, transpose_poly_values}; -pub struct CircuitBuilder, const D: usize> { +pub struct CircuitBuilder, const D: usize> { pub(crate) config: CircuitConfig, /// The types of gates used in this circuit. @@ -91,7 +91,7 @@ pub struct CircuitBuilder, const D: usize> { free_constant: Option<(usize, usize)>, } -impl, const D: usize> CircuitBuilder { +impl, const D: usize> CircuitBuilder { pub fn new(config: CircuitConfig) -> Self { let builder = CircuitBuilder { config, diff --git a/src/plonk/proof.rs b/src/plonk/proof.rs index 2f9bcb4b..df4a25ff 100644 --- a/src/plonk/proof.rs +++ b/src/plonk/proof.rs @@ -217,7 +217,7 @@ impl, C: GenericConfig, const D: usize> } } -pub(crate) struct ProofChallenges, const D: usize> { +pub(crate) struct ProofChallenges, const D: usize> { // Random values used in Plonk's permutation argument. pub plonk_betas: Vec, @@ -243,9 +243,7 @@ pub(crate) struct ProofChallenges, const D: usize> } /// Coset elements that can be inferred in the FRI reduction steps. -pub(crate) struct FriInferredElements, const D: usize>( - pub Vec, -); +pub(crate) struct FriInferredElements, const D: usize>(pub Vec); pub struct ProofWithPublicInputsTarget { pub proof: ProofTarget, diff --git a/src/plonk/vanishing_poly.rs b/src/plonk/vanishing_poly.rs index 7e4af676..8a89e449 100644 --- a/src/plonk/vanishing_poly.rs +++ b/src/plonk/vanishing_poly.rs @@ -234,7 +234,7 @@ pub(crate) fn eval_vanishing_poly_base_batch< /// `num_gate_constraints` is the largest number of constraints imposed by any gate. It is not /// strictly necessary, but it helps performance by ensuring that we allocate a vector with exactly /// the capacity that we need. -pub fn evaluate_gate_constraints, const D: usize>( +pub fn evaluate_gate_constraints, const D: usize>( gates: &[PrefixedGate], num_gate_constraints: usize, vars: EvaluationVars, @@ -258,7 +258,7 @@ pub fn evaluate_gate_constraints, const D: usize>( /// Returns a vector of num_gate_constraints * vars_batch.len() field elements. The constraints /// corresponding to vars_batch[i] are found in /// result[num_gate_constraints * i..num_gate_constraints * (i + 1)]. -pub fn evaluate_gate_constraints_base_batch, const D: usize>( +pub fn evaluate_gate_constraints_base_batch, const D: usize>( gates: &[PrefixedGate], num_gate_constraints: usize, vars_batch: &[EvaluationVarsBase], @@ -287,7 +287,7 @@ pub fn evaluate_gate_constraints_base_batch, const constraints_batch } -pub fn evaluate_gate_constraints_recursively, const D: usize>( +pub fn evaluate_gate_constraints_recursively, const D: usize>( builder: &mut CircuitBuilder, gates: &[PrefixedGate], num_gate_constraints: usize, diff --git a/src/util/partial_products.rs b/src/util/partial_products.rs index 633047d0..c687342c 100644 --- a/src/util/partial_products.rs +++ b/src/util/partial_products.rs @@ -61,7 +61,7 @@ pub fn check_partial_products>( res } -pub fn check_partial_products_recursively, const D: usize>( +pub fn check_partial_products_recursively, const D: usize>( builder: &mut CircuitBuilder, v: &[ExtensionTarget], partials: &[ExtensionTarget], diff --git a/src/util/reducing.rs b/src/util/reducing.rs index 6aa7c2b3..1ae694c8 100644 --- a/src/util/reducing.rs +++ b/src/util/reducing.rs @@ -100,7 +100,7 @@ impl ReducingFactorTarget { builder: &mut CircuitBuilder, ) -> ExtensionTarget where - F: RichField + Extendable, + F: Extendable, { let max_coeffs_len = ReducingGate::::max_coeffs_len( builder.config.num_wires, @@ -143,7 +143,7 @@ impl ReducingFactorTarget { builder: &mut CircuitBuilder, ) -> ExtensionTarget where - F: RichField + Extendable, + F: Extendable, { let l = terms.len(); self.count += l as u64; @@ -164,7 +164,7 @@ impl ReducingFactorTarget { builder: &mut CircuitBuilder, ) -> ExtensionTarget where - F: RichField + Extendable, + F: Extendable, { let exp = builder.exp_u64_extension(self.base, self.count); self.count = 0;