File tree Expand file tree Collapse file tree
barretenberg/cpp/src/barretenberg/ultra_honk Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -186,8 +186,11 @@ template <typename Flavor> void OinkProver<Flavor>::commit_to_z_perm()
186186template <typename Flavor> void OinkProver<Flavor>::commit_to_masking_poly()
187187{
188188 if constexpr (flavor_has_gemini_masking<Flavor>()) {
189- // Gemini masking poly only needs to cover the actual polynomial extent, not full dyadic size
190- const size_t polynomial_size = prover_instance->polynomials .max_end_index ();
189+ // Gemini masking poly only needs to cover the actual polynomial extent, not full dyadic size.
190+ // Round up to even so sumcheck's pairwise (edge_idx, edge_idx + 1) iteration over the effective
191+ // round size — which itself rounds max_end_index up to even — stays in bounds.
192+ const size_t max_end_index = prover_instance->polynomials .max_end_index ();
193+ const size_t polynomial_size = max_end_index + (max_end_index % 2 );
191194 prover_instance->polynomials .gemini_masking_poly = Polynomial<FF>::random (polynomial_size);
192195
193196 // Commit to the masking polynomial and send to transcript
You can’t perform that action at this time.
0 commit comments