Cargo fmt

This commit is contained in:
wborgeaud 2021-11-12 09:15:37 +01:00
parent 9139d1350a
commit 21d3b127e3
3 changed files with 20 additions and 8 deletions

View File

@ -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<F: RichField + Extendable<D>, const D: usize>(
prover_data: &ProverOnlyCircuitData<F, D>,
@ -99,7 +100,8 @@ pub(crate) fn prove<F: RichField + Extendable<D>, 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<F: RichField + Extendable<D>, 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, &quotient_chunk_products);
let mut partial_products_and_z_gx =
partial_products_and_z_gx(z_x, &quotient_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);

View File

@ -76,7 +76,10 @@ pub(crate) fn eval_vanishing_poly<F: RichField + Extendable<D>, 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<F: RichField + Extendable<D>, 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<F: RichField + Extendable<D>, 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);
}

View File

@ -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<F: Field>(
quotient_values: &[F],
@ -11,7 +12,8 @@ pub(crate) fn quotient_chunk_products<F: Field>(
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()
}