Properly use the three betas and gammas

... for the three different `Z`s we use. Before I was just using the first value as a temporary thing.
This commit is contained in:
Daniel Lubarov 2021-04-23 14:25:24 -07:00
parent c684193033
commit 4f9aa8879b

View File

@ -96,18 +96,14 @@ pub(crate) fn prove<F: Field>(
let alphas = challenger.get_n_challenges(num_checks); let alphas = challenger.get_n_challenges(num_checks);
// TODO
let beta = betas[0];
let gamma = gammas[0];
let start_vanishing_polys = Instant::now(); let start_vanishing_polys = Instant::now();
let vanishing_polys = compute_vanishing_polys( let vanishing_polys = compute_vanishing_polys(
common_data, common_data,
prover_data, prover_data,
wire_ldes_t, wire_ldes_t,
plonk_z_ldes_t, plonk_z_ldes_t,
beta, &betas,
gamma, &gammas,
&alphas, &alphas,
); );
info!( info!(
@ -170,8 +166,8 @@ fn compute_vanishing_polys<F: Field>(
prover_data: &ProverOnlyCircuitData<F>, prover_data: &ProverOnlyCircuitData<F>,
wire_ldes_t: Vec<Vec<F>>, wire_ldes_t: Vec<Vec<F>>,
plonk_z_lde_t: Vec<Vec<F>>, plonk_z_lde_t: Vec<Vec<F>>,
beta: F, betas: &[F],
gamma: F, gammas: &[F],
alphas: &[F], alphas: &[F],
) -> Vec<PolynomialValues<F>> { ) -> Vec<PolynomialValues<F>> {
let lde_size = common_data.lde_size(); let lde_size = common_data.lde_size();
@ -208,8 +204,8 @@ fn compute_vanishing_polys<F: Field>(
local_plonk_zs, local_plonk_zs,
next_plonk_zs, next_plonk_zs,
s_sigmas, s_sigmas,
beta, betas,
gamma, gammas,
alphas, alphas,
) )
}) })
@ -231,8 +227,8 @@ fn compute_vanishing_poly_entry<F: Field>(
local_plonk_zs: &[F], local_plonk_zs: &[F],
next_plonk_zs: &[F], next_plonk_zs: &[F],
s_sigmas: &[F], s_sigmas: &[F],
beta: F, betas: &[F],
gamma: F, gammas: &[F],
alphas: &[F], alphas: &[F],
) -> Vec<F> { ) -> Vec<F> {
let constraint_terms = let constraint_terms =
@ -255,8 +251,8 @@ fn compute_vanishing_poly_entry<F: Field>(
let k_i = common_data.k_is[j]; let k_i = common_data.k_is[j];
let s_id = k_i * x; let s_id = k_i * x;
let s_sigma = s_sigmas[j]; let s_sigma = s_sigmas[j];
f_prime *= wire_value + beta * s_id + gamma; f_prime *= wire_value + betas[i] * s_id + gammas[i];
g_prime *= wire_value + beta * s_sigma + gamma; g_prime *= wire_value + betas[i] * s_sigma + gammas[i];
} }
vanishing_v_shift_terms.push(f_prime * z_x - g_prime * z_gz); vanishing_v_shift_terms.push(f_prime * z_x - g_prime * z_gz);
} }