Open wires at single point if D=1

This commit is contained in:
wborgeaud 2021-06-01 11:03:04 +02:00
parent 59dfe5db2f
commit 2794cb9a95
2 changed files with 55 additions and 29 deletions

View File

@ -156,7 +156,11 @@ fn fri_combine_initial<F: Field + Extendable<D>, const D: usize>(
let mut poly_count = 0; let mut poly_count = 0;
let mut e = F::Extension::ZERO; let mut e = F::Extension::ZERO;
let ev = [0, 1, 4] let ev = if D == 1 {
vec![0, 1, 2, 4]
} else {
vec![0, 1, 4]
}
.iter() .iter()
.flat_map(|&i| { .flat_map(|&i| {
let v = &proof.evals_proofs[i].0; let v = &proof.evals_proofs[i].0;
@ -167,7 +171,16 @@ fn fri_combine_initial<F: Field + Extendable<D>, const D: usize>(
poly_count += 1; poly_count += 1;
alpha * acc + e.into() alpha * acc + e.into()
}); });
let composition_eval = [&os.constants, &os.plonk_sigmas, &os.quotient_polys] let composition_eval = if D == 1 {
vec![
&os.constants,
&os.plonk_sigmas,
&os.wires,
&os.quotient_polys,
]
} else {
vec![&os.constants, &os.plonk_sigmas, &os.quotient_polys]
}
.iter() .iter()
.flat_map(|v| v.iter()) .flat_map(|v| v.iter())
.rev() .rev()

View File

@ -114,7 +114,11 @@ impl<F: Field> ListPolynomialCommitment<F> {
// Count the total number of polynomials accumulated into `final_poly`. // Count the total number of polynomials accumulated into `final_poly`.
let mut poly_count = 0; let mut poly_count = 0;
let composition_poly = [0, 1, 4] let composition_poly = if D == 1 {
vec![0, 1, 2, 4]
} else {
vec![0, 1, 4]
}
.iter() .iter()
.flat_map(|&i| &commitments[i].polynomials) .flat_map(|&i| &commitments[i].polynomials)
.rev() .rev()
@ -122,7 +126,16 @@ impl<F: Field> ListPolynomialCommitment<F> {
poly_count += 1; poly_count += 1;
&(&acc * alpha) + &p.to_extension() &(&acc * alpha) + &p.to_extension()
}); });
let composition_eval = [&os.constants, &os.plonk_sigmas, &os.quotient_polys] let composition_eval = if D == 1 {
vec![
&os.constants,
&os.plonk_sigmas,
&os.wires,
&os.quotient_polys,
]
} else {
vec![&os.constants, &os.plonk_sigmas, &os.quotient_polys]
.iter() .iter()
.flat_map(|v| v.iter()) .flat_map(|v| v.iter())
.rev() .rev()