mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-08 16:53:07 +00:00
Fix product bug
This commit is contained in:
parent
ba06dc8897
commit
90bdb5796c
@ -67,7 +67,7 @@ pub(crate) fn eval_vanishing_poly<F: Extendable<D>, const D: usize>(
|
||||
vars: EvaluationVars<F, D>,
|
||||
local_zs: &[F::Extension],
|
||||
next_zs: &[F::Extension],
|
||||
local_partial_products: &[F::Extension],
|
||||
partial_products: &[F::Extension],
|
||||
s_sigmas: &[F::Extension],
|
||||
betas: &[F],
|
||||
gammas: &[F],
|
||||
@ -108,21 +108,21 @@ pub(crate) fn eval_vanishing_poly<F: Extendable<D>, const D: usize>(
|
||||
let (num_prods, final_num_prod) = common_data.num_partial_products;
|
||||
vanishing_partial_products_terms.extend(check_partial_products(
|
||||
&numerator_values,
|
||||
&local_partial_products[2 * i * num_prods..(2 * i + 1) * num_prods],
|
||||
&partial_products[2 * i * num_prods..(2 * i + 1) * num_prods],
|
||||
max_degree,
|
||||
));
|
||||
vanishing_partial_products_terms.extend(check_partial_products(
|
||||
&denominator_values,
|
||||
&local_partial_products[(2 * i + 1) * num_prods..(2 * i + 2) * num_prods],
|
||||
&partial_products[(2 * i + 1) * num_prods..(2 * i + 2) * num_prods],
|
||||
max_degree,
|
||||
));
|
||||
|
||||
let f_prime: F = local_partial_products
|
||||
let f_prime: F::Extension = partial_products
|
||||
[(2 * i + 1) * num_prods - final_num_prod..(2 * i + 1) * num_prods]
|
||||
.iter()
|
||||
.copied()
|
||||
.product();
|
||||
let g_prime: F = local_partial_products
|
||||
let g_prime: F::Extension = partial_products
|
||||
[(2 * i + 2) * num_prods - final_num_prod..(2 * i + 2) * num_prods]
|
||||
.iter()
|
||||
.copied()
|
||||
@ -150,7 +150,7 @@ pub(crate) fn eval_vanishing_poly_base<F: Extendable<D>, const D: usize>(
|
||||
vars: EvaluationVarsBase<F>,
|
||||
local_zs: &[F],
|
||||
next_zs: &[F],
|
||||
local_partial_products: &[F],
|
||||
partial_products: &[F],
|
||||
s_sigmas: &[F],
|
||||
betas: &[F],
|
||||
gammas: &[F],
|
||||
@ -192,21 +192,21 @@ pub(crate) fn eval_vanishing_poly_base<F: Extendable<D>, const D: usize>(
|
||||
let (num_prods, final_num_prod) = common_data.num_partial_products;
|
||||
vanishing_partial_products_terms.extend(check_partial_products(
|
||||
&numerator_values,
|
||||
&local_partial_products[2 * i * num_prods..(2 * i + 1) * num_prods],
|
||||
&partial_products[2 * i * num_prods..(2 * i + 1) * num_prods],
|
||||
max_degree,
|
||||
));
|
||||
vanishing_partial_products_terms.extend(check_partial_products(
|
||||
&denominator_values,
|
||||
&local_partial_products[(2 * i + 1) * num_prods..(2 * i + 2) * num_prods],
|
||||
&partial_products[(2 * i + 1) * num_prods..(2 * i + 2) * num_prods],
|
||||
max_degree,
|
||||
));
|
||||
|
||||
let f_prime: F = local_partial_products
|
||||
let f_prime: F = partial_products
|
||||
[(2 * i + 1) * num_prods - final_num_prod..(2 * i + 1) * num_prods]
|
||||
.iter()
|
||||
.copied()
|
||||
.product();
|
||||
let g_prime: F = local_partial_products
|
||||
let g_prime: F = partial_products
|
||||
[(2 * i + 2) * num_prods - final_num_prod..(2 * i + 2) * num_prods]
|
||||
.iter()
|
||||
.copied()
|
||||
|
||||
@ -343,8 +343,7 @@ fn compute_quotient_polys<'a, F: Extendable<D>, const D: usize>(
|
||||
let local_zs = &local_zs_partial_products[common_data.zs_range()];
|
||||
let next_zs =
|
||||
&get_at_index(zs_partial_products_commitment, i_next)[common_data.zs_range()];
|
||||
let local_partial_products =
|
||||
&local_zs_partial_products[common_data.partial_products_range()];
|
||||
let partial_products = &local_zs_partial_products[common_data.partial_products_range()];
|
||||
|
||||
debug_assert_eq!(local_wires.len(), common_data.config.num_wires);
|
||||
debug_assert_eq!(local_zs.len(), num_challenges);
|
||||
@ -361,7 +360,7 @@ fn compute_quotient_polys<'a, F: Extendable<D>, const D: usize>(
|
||||
vars,
|
||||
local_zs,
|
||||
next_zs,
|
||||
local_partial_products,
|
||||
partial_products,
|
||||
s_sigmas,
|
||||
betas,
|
||||
gammas,
|
||||
|
||||
@ -40,6 +40,7 @@ pub(crate) fn verify<F: Extendable<D>, const D: usize>(
|
||||
let local_plonk_zs = &proof.openings.plonk_zs;
|
||||
let next_plonk_zs = &proof.openings.plonk_zs_right;
|
||||
let s_sigmas = &proof.openings.plonk_s_sigmas;
|
||||
let local_partial_products = &proof.openings.partial_products;
|
||||
|
||||
// Evaluate the vanishing polynomial at our challenge point, zeta.
|
||||
let vanishing_polys_zeta = eval_vanishing_poly(
|
||||
@ -48,6 +49,7 @@ pub(crate) fn verify<F: Extendable<D>, const D: usize>(
|
||||
vars,
|
||||
local_plonk_zs,
|
||||
next_plonk_zs,
|
||||
local_partial_products,
|
||||
s_sigmas,
|
||||
&betas,
|
||||
&gammas,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user