diff --git a/src/circuit_builder.rs b/src/circuit_builder.rs index da1a1f93..8a242db5 100644 --- a/src/circuit_builder.rs +++ b/src/circuit_builder.rs @@ -202,14 +202,14 @@ impl CircuitBuilder { /// Builds a "prover circuit", with data needed to generate proofs but not verify them. pub fn build_prover(mut self) -> ProverCircuitData { // TODO: Can skip parts of this. - let CircuitData { prover_only, verifier_only, common } = self.build(); + let CircuitData { prover_only, common, .. } = self.build(); ProverCircuitData { prover_only, common } } /// Builds a "verifier circuit", with data needed to verify proofs but not generate them. pub fn build_verifier(mut self) -> VerifierCircuitData { // TODO: Can skip parts of this. - let CircuitData { prover_only, verifier_only, common } = self.build(); + let CircuitData { verifier_only, common, .. } = self.build(); VerifierCircuitData { verifier_only, common } } } diff --git a/src/constraint_polynomial.rs b/src/constraint_polynomial.rs index 395e092d..2f8ce83b 100644 --- a/src/constraint_polynomial.rs +++ b/src/constraint_polynomial.rs @@ -1,17 +1,5 @@ -use std::{fmt, ptr}; -use std::borrow::Borrow; -use std::collections::{HashMap, HashSet}; -use std::fmt::{Debug, Display, Formatter}; -use std::hash::{Hash, Hasher}; -use std::iter::{Product, Sum}; -use std::ops::{Add, AddAssign, Mul, MulAssign, Neg, Sub, SubAssign}; -use std::rc::Rc; - -use num::{BigUint, FromPrimitive, One, Zero}; - use crate::field::field::Field; use crate::target::Target; -use crate::wire::Wire; #[derive(Copy, Clone)] pub struct EvaluationVars<'a, F: Field> { diff --git a/src/field/crandall_field.rs b/src/field/crandall_field.rs index 295c392f..b0fb2b01 100644 --- a/src/field/crandall_field.rs +++ b/src/field/crandall_field.rs @@ -1,10 +1,11 @@ -use std::fmt::{Debug, Formatter, Display}; +use std::fmt::{Debug, Display, Formatter}; use std::fmt; use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; -use crate::field::field::Field; use num::Integer; +use crate::field::field::Field; + /// P = 2**64 - EPSILON /// = 2**64 - 9 * 2**28 + 1 /// = 2**28 * (2**36 - 9) + 1 diff --git a/src/field/fft.rs b/src/field/fft.rs index 3274d5a5..df21856f 100644 --- a/src/field/fft.rs +++ b/src/field/fft.rs @@ -1,6 +1,6 @@ use crate::field::field::Field; +use crate::polynomial::polynomial::{PolynomialCoeffs, PolynomialValues}; use crate::util::{log2_ceil, log2_strict}; -use crate::polynomial::polynomial::{PolynomialValues, PolynomialCoeffs}; /// Permutes `arr` such that each index is mapped to its reverse in binary. fn reverse_index_bits(arr: Vec) -> Vec { diff --git a/src/gadgets/split_join.rs b/src/gadgets/split_join.rs index 3a79b084..a6458440 100644 --- a/src/gadgets/split_join.rs +++ b/src/gadgets/split_join.rs @@ -1,10 +1,8 @@ -use std::iter; - use crate::field::field::Field; use crate::generator::{SimpleGenerator, WitnessGenerator}; use crate::target::Target; -use crate::witness::PartialWitness; use crate::wire::Wire; +use crate::witness::PartialWitness; // /// Constraints for a little-endian split. // pub fn split_le_constraints( diff --git a/src/gates/constant.rs b/src/gates/constant.rs index 03281442..f9f373e6 100644 --- a/src/gates/constant.rs +++ b/src/gates/constant.rs @@ -4,8 +4,8 @@ use crate::field::field::Field; use crate::gates::gate::{Gate, GateRef}; use crate::generator::{SimpleGenerator, WitnessGenerator}; use crate::target::Target; -use crate::witness::PartialWitness; use crate::wire::Wire; +use crate::witness::PartialWitness; /// A gate which takes a single constant parameter and outputs that value. pub struct ConstantGate; @@ -45,7 +45,7 @@ impl Gate for ConstantGate { &self, gate_index: usize, local_constants: &[F], - next_constants: &[F], + _next_constants: &[F], ) -> Vec>> { let gen = ConstantGenerator { gate_index, @@ -82,7 +82,7 @@ impl SimpleGenerator for ConstantGenerator { Vec::new() } - fn run_once(&self, witness: &PartialWitness) -> PartialWitness { + fn run_once(&self, _witness: &PartialWitness) -> PartialWitness { let wire = Wire { gate: self.gate_index, input: ConstantGate::WIRE_OUTPUT }; PartialWitness::singleton(Target::Wire(wire), self.constant) } diff --git a/src/gates/gate.rs b/src/gates/gate.rs index 4c142b40..e4f81a02 100644 --- a/src/gates/gate.rs +++ b/src/gates/gate.rs @@ -1,8 +1,6 @@ use std::hash::{Hash, Hasher}; use std::rc::Rc; -use num::ToPrimitive; - use crate::circuit_builder::CircuitBuilder; use crate::constraint_polynomial::{EvaluationTargets, EvaluationVars}; use crate::field::field::Field; diff --git a/src/gates/gmimc.rs b/src/gates/gmimc.rs index 6d833ba9..72b78e4b 100644 --- a/src/gates/gmimc.rs +++ b/src/gates/gmimc.rs @@ -1,17 +1,13 @@ use std::sync::Arc; -use num::{BigUint, One}; - use crate::circuit_builder::CircuitBuilder; -use crate::circuit_data::CircuitConfig; use crate::constraint_polynomial::{EvaluationTargets, EvaluationVars}; use crate::field::field::Field; use crate::gates::gate::{Gate, GateRef}; use crate::generator::{SimpleGenerator, WitnessGenerator}; use crate::target::Target; -use crate::witness::PartialWitness; use crate::wire::Wire; -use crate::gates::noop::NoopGate; +use crate::witness::PartialWitness; /// The width of the permutation, in field elements. const W: usize = 12; diff --git a/src/gates/noop.rs b/src/gates/noop.rs index 1aa54317..13d8a072 100644 --- a/src/gates/noop.rs +++ b/src/gates/noop.rs @@ -1,10 +1,9 @@ -use crate::circuit_data::CircuitConfig; -use crate::constraint_polynomial::{EvaluationVars, EvaluationTargets}; +use crate::circuit_builder::CircuitBuilder; +use crate::constraint_polynomial::{EvaluationTargets, EvaluationVars}; use crate::field::field::Field; use crate::gates::gate::{Gate, GateRef}; use crate::generator::WitnessGenerator; use crate::target::Target; -use crate::circuit_builder::CircuitBuilder; /// A gate which takes a single constant parameter and outputs that value. pub struct NoopGate; @@ -20,23 +19,23 @@ impl Gate for NoopGate { "NoopGate".into() } - fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { + fn eval_unfiltered(&self, _vars: EvaluationVars) -> Vec { Vec::new() } fn eval_unfiltered_recursively( &self, _builder: &mut CircuitBuilder, - vars: EvaluationTargets, + _vars: EvaluationTargets, ) -> Vec { Vec::new() } fn generators( &self, - gate_index: usize, - local_constants: &[F], - next_constants: &[F], + _gate_index: usize, + _local_constants: &[F], + _next_constants: &[F], ) -> Vec>> { Vec::new() } diff --git a/src/gmimc.rs b/src/gmimc.rs index 9013a2b7..2697acc7 100644 --- a/src/gmimc.rs +++ b/src/gmimc.rs @@ -80,10 +80,11 @@ pub fn gmimc_permute_naive( #[cfg(test)] mod tests { + use std::sync::Arc; + use crate::field::crandall_field::CrandallField; use crate::field::field::Field; use crate::gmimc::{gmimc_permute, gmimc_permute_naive}; - use std::sync::Arc; #[test] fn consistency() { diff --git a/src/hash.rs b/src/hash.rs index 73c3681f..3e2ebae2 100644 --- a/src/hash.rs +++ b/src/hash.rs @@ -2,13 +2,12 @@ use std::convert::TryInto; -use num::traits::real::Real; use rayon::prelude::*; use crate::field::field::Field; -use crate::gmimc::{gmimc_compress, gmimc_permute_array}; +use crate::gmimc::gmimc_permute_array; use crate::proof::Hash; -use crate::util::{reverse_index_bits, reverse_index_bits_in_place, transpose}; +use crate::util::reverse_index_bits_in_place; const RATE: usize = 8; const CAPACITY: usize = 4; diff --git a/src/plonk_common.rs b/src/plonk_common.rs index 1852bfd2..a4d08930 100644 --- a/src/plonk_common.rs +++ b/src/plonk_common.rs @@ -1,6 +1,6 @@ +use crate::circuit_builder::CircuitBuilder; use crate::field::field::Field; use crate::target::Target; -use crate::circuit_builder::CircuitBuilder; pub(crate) fn reduce_with_powers(terms: Vec, alpha: F) -> F { let mut sum = F::ZERO; diff --git a/src/polynomial/division.rs b/src/polynomial/division.rs index ba24d85e..68c78612 100644 --- a/src/polynomial/division.rs +++ b/src/polynomial/division.rs @@ -1,7 +1,7 @@ use crate::field::fft::{fft, ifft}; use crate::field::field::Field; -use crate::util::{log2_ceil, log2_strict}; use crate::polynomial::polynomial::PolynomialCoeffs; +use crate::util::log2_strict; /// Takes a polynomial `a` in coefficient form, and divides it by `Z_H = X^n - 1`. /// diff --git a/src/polynomial/polynomial.rs b/src/polynomial/polynomial.rs index 8853ea3a..36a7a944 100644 --- a/src/polynomial/polynomial.rs +++ b/src/polynomial/polynomial.rs @@ -1,6 +1,6 @@ +use crate::field::fft::{fft, ifft}; use crate::field::field::Field; use crate::util::log2_strict; -use crate::field::fft::{ifft, fft}; /// A polynomial in point-value form. The number of values must be a power of two. /// diff --git a/src/prover.rs b/src/prover.rs index 262eb2c0..070883d7 100644 --- a/src/prover.rs +++ b/src/prover.rs @@ -8,14 +8,14 @@ use crate::constraint_polynomial::EvaluationVars; use crate::field::fft::{fft, ifft}; use crate::field::field::Field; use crate::generator::generate_partial_witness; -use crate::hash::{merkle_root_bit_rev_order}; +use crate::hash::merkle_root_bit_rev_order; use crate::plonk_common::reduce_with_powers; -use crate::proof::{Proof}; -use crate::util::{transpose, transpose_poly_values}; +use crate::polynomial::division::divide_by_z_h; +use crate::polynomial::polynomial::{PolynomialCoeffs, PolynomialValues}; +use crate::proof::Proof; +use crate::util::transpose_poly_values; use crate::wire::Wire; use crate::witness::PartialWitness; -use crate::polynomial::division::divide_by_z_h; -use crate::polynomial::polynomial::{PolynomialValues, PolynomialCoeffs}; pub(crate) fn prove( prover_data: &ProverOnlyCircuitData, diff --git a/src/util.rs b/src/util.rs index a40c0d9e..e12cf8a6 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,5 +1,5 @@ -use crate::polynomial::polynomial::PolynomialValues; use crate::field::field::Field; +use crate::polynomial::polynomial::PolynomialValues; pub(crate) fn ceil_div_usize(a: usize, b: usize) -> usize { (a + b - 1) / b