From d1bcfb769fccf2204254f3e2b5463c1e5bb1fe1f Mon Sep 17 00:00:00 2001 From: umadayal Date: Wed, 29 Jan 2025 12:51:51 -0800 Subject: [PATCH] cleanup --- crates/stark/src/machine.rs | 6 +++--- crates/stark/src/permutation.rs | 9 +++++---- crates/stark/src/prover.rs | 4 +++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/crates/stark/src/machine.rs b/crates/stark/src/machine.rs index ff6b906c5..c042ea911 100644 --- a/crates/stark/src/machine.rs +++ b/crates/stark/src/machine.rs @@ -216,14 +216,14 @@ impl> + Air> + Air( let local_sends = scoped_sends.get(&InteractionScope::Local).unwrap_or(&empty); let local_receives = scoped_receives.get(&InteractionScope::Local).unwrap_or(&empty); - let local_permutation_width = - local_permutation_trace_width(local_sends.len() + local_receives.len(), batch_size); + let num_local_interactions = local_sends.len() + local_receives.len(); - if !local_sends.is_empty() || !local_receives.is_empty() { - // Loop over local_permutation_width - 1 iterations with one assert per iteration. + if num_local_interactions > 0 { + let local_permutation_width = + local_permutation_trace_width(num_local_interactions, batch_size); + // We loop over (local_permutation_width - 1) iterations with one assert per iteration. count += local_permutation_width - 1; // One assert that cumulative sum is initialized to `phi_local` on the first row. diff --git a/crates/stark/src/prover.rs b/crates/stark/src/prover.rs index c5732d06b..dc3fc0641 100644 --- a/crates/stark/src/prover.rs +++ b/crates/stark/src/prover.rs @@ -408,7 +408,6 @@ where // Compute the quotient values. let alpha: SC::Challenge = challenger.sample_ext_element::(); - let parent_span = tracing::debug_span!("compute quotient values"); let quotient_values = parent_span.in_scope(|| { quotient_domains @@ -432,6 +431,9 @@ where let chip_num_constraints = pk.constraints_map.get(&chips[i].name()).unwrap(); + // Calculate powers of alpha for constraint evaluation: + // 1. Generate sequence [α⁰, α¹, ..., α^(n-1)] where n = chip_num_constraints + // 2. Reverse to [α^(n-1), ..., α¹, α⁰] to align with Horner's method in the verifier let powers_of_alpha = alpha.powers().take(*chip_num_constraints).collect::>(); let mut powers_of_alpha_rev = powers_of_alpha.clone();