diff --git a/src/plonk/prover.rs b/src/plonk/prover.rs index 1c247998..1dd17cb8 100644 --- a/src/plonk/prover.rs +++ b/src/plonk/prover.rs @@ -1,3 +1,5 @@ +use std::mem::swap; + use anyhow::Result; use rayon::prelude::*; @@ -20,7 +22,6 @@ use crate::timed; use crate::util::partial_products::{partial_products_and_z_gx, quotient_chunk_products}; use crate::util::timing::TimingTree; use crate::util::{log2_ceil, transpose}; -use std::mem::swap; pub(crate) fn prove, const D: usize>( prover_data: &ProverOnlyCircuitData, @@ -99,7 +100,8 @@ pub(crate) fn prove, const D: usize>( ); // Z is expected at the front of our batch; see `zs_range` and `partial_products_range`. - let plonk_z_vecs = partial_products_and_zs.iter_mut() + let plonk_z_vecs = partial_products_and_zs + .iter_mut() .map(|partial_products_and_z| partial_products_and_z.pop().unwrap()) .collect(); let zs_partial_products = [plonk_z_vecs, partial_products_and_zs.concat()].concat(); @@ -267,7 +269,8 @@ fn wires_permutation_partial_products_and_zs, const let mut z_x = F::ONE; let mut all_partial_products_and_zs = Vec::new(); for quotient_chunk_products in all_quotient_chunk_products { - let mut partial_products_and_z_gx = partial_products_and_z_gx(z_x, "ient_chunk_products); + let mut partial_products_and_z_gx = + partial_products_and_z_gx(z_x, "ient_chunk_products); // The last term is Z(gx), but we replace it with Z(x), otherwise Z would end up shifted. swap(&mut z_x, &mut partial_products_and_z_gx[num_prods]); all_partial_products_and_zs.push(partial_products_and_z_gx); diff --git a/src/plonk/vanishing_poly.rs b/src/plonk/vanishing_poly.rs index f91e027b..2be91b40 100644 --- a/src/plonk/vanishing_poly.rs +++ b/src/plonk/vanishing_poly.rs @@ -76,7 +76,10 @@ pub(crate) fn eval_vanishing_poly, const D: usize>( vanishing_partial_products_terms.extend(partial_product_checks); let final_nume_product = numerator_values[final_num_prod..].iter().copied().product(); - let final_deno_product = denominator_values[final_num_prod..].iter().copied().product(); + let final_deno_product = denominator_values[final_num_prod..] + .iter() + .copied() + .product(); let last_partial = *current_partial_products.last().unwrap(); let v_shift_term = last_partial * final_nume_product - z_gz * final_deno_product; vanishing_v_shift_terms.push(v_shift_term); @@ -183,7 +186,10 @@ pub(crate) fn eval_vanishing_poly_base_batch, const vanishing_partial_products_terms.extend(partial_product_checks); let final_nume_product = numerator_values[final_num_prod..].iter().copied().product(); - let final_deno_product = denominator_values[final_num_prod..].iter().copied().product(); + let final_deno_product = denominator_values[final_num_prod..] + .iter() + .copied() + .product(); let last_partial = *current_partial_products.last().unwrap(); let v_shift_term = last_partial * final_nume_product - z_gz * final_deno_product; vanishing_v_shift_terms.push(v_shift_term); @@ -379,7 +385,8 @@ pub(crate) fn eval_vanishing_poly_recursively, cons let final_deno_product = builder.mul_many_extension(&denominator_values[final_num_prod..]); let z_gz_denominators = builder.mul_extension(z_gz, final_deno_product); let last_partial = *current_partial_products.last().unwrap(); - let v_shift_term = builder.mul_sub_extension(last_partial, final_nume_product, z_gz_denominators); + let v_shift_term = + builder.mul_sub_extension(last_partial, final_nume_product, z_gz_denominators); vanishing_v_shift_terms.push(v_shift_term); } diff --git a/src/util/partial_products.rs b/src/util/partial_products.rs index 1e7a4f4b..c4133b4d 100644 --- a/src/util/partial_products.rs +++ b/src/util/partial_products.rs @@ -1,8 +1,9 @@ +use itertools::Itertools; + use crate::field::extension_field::target::ExtensionTarget; use crate::field::extension_field::Extendable; use crate::field::field_types::{Field, RichField}; use crate::plonk::circuit_builder::CircuitBuilder; -use itertools::Itertools; pub(crate) fn quotient_chunk_products( quotient_values: &[F], @@ -11,7 +12,8 @@ pub(crate) fn quotient_chunk_products( debug_assert!(max_degree > 1); assert!(quotient_values.len() > 0); let chunk_size = max_degree; - quotient_values.chunks(chunk_size) + quotient_values + .chunks(chunk_size) .map(|chunk| chunk.iter().copied().product()) .collect() }