From 21f90ca853b0cb50ff7b19a5a9b46041e4fc3ee3 Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Mon, 9 Aug 2021 18:42:01 +0200 Subject: [PATCH] Fix some off-by-one errors in the degrees --- src/gates/gate_tree.rs | 6 +++--- src/plonk/prover.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gates/gate_tree.rs b/src/gates/gate_tree.rs index 9cf3fe26..9badc207 100644 --- a/src/gates/gate_tree.rs +++ b/src/gates/gate_tree.rs @@ -64,9 +64,9 @@ impl, const D: usize> Tree> { gates.sort_unstable_by_key(|g| (-(g.0.degree() as isize), -(g.0.num_constants() as isize))); for max_degree_bits in 1..10 { - // The constraint polynomials are padded to the next power in `compute_vanishig_polys`. - // So we can restrict our search space by setting `max_degree` to a power of 2. - let max_degree = 1 << max_degree_bits; + // The quotient polynomials are padded to the next power of 2 in `compute_vanishig_polys`. + // So we can restrict our search space by setting `max_degree` to 1 + a power of 2. + let max_degree = 1 << max_degree_bits + 1; for max_constants in 1..100 { if let Some(mut best_tree) = Self::find_tree(&gates, max_degree, max_constants) { let mut best_num_constants = best_tree.num_constants(); diff --git a/src/plonk/prover.rs b/src/plonk/prover.rs index de85d94b..ec88a67c 100644 --- a/src/plonk/prover.rs +++ b/src/plonk/prover.rs @@ -332,7 +332,7 @@ fn compute_quotient_polys<'a, F: Extendable, const D: usize>( alphas: &[F], ) -> Vec> { let num_challenges = common_data.config.num_challenges; - let max_degree_bits = log2_ceil(common_data.quotient_degree_factor + 1); + let max_degree_bits = log2_ceil(common_data.quotient_degree_factor); assert!( max_degree_bits <= common_data.config.rate_bits, "Having constraints of degree higher than the rate is not supported yet. \