Skip to content

Commit

Permalink
Fix padding for LookupTableGate (#1661)
Browse files Browse the repository at this point in the history
  • Loading branch information
LindaGuiga authored Jan 30, 2025
1 parent 6eb63f0 commit 753389a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
1 change: 0 additions & 1 deletion plonky2/src/plonk/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ pub fn set_lookup_wires<
multiplicities[0] += 1;
}

// We don't need to pad the last `LookupTableGate`; extra wires are set to 0 by default, which satisfies the constraints.
for lut_entry in 0..lut_len {
let row = first_lut_gate - lut_entry / num_lut_entries;
let col = lut_entry % num_lut_entries;
Expand Down
8 changes: 4 additions & 4 deletions plonky2/src/plonk/vanishing_poly.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ pub(crate) fn get_lut_poly<F: RichField + Extendable<D>, const D: usize>(
let b = deltas[LookupChallenges::ChallengeB as usize];
let mut coeffs = Vec::with_capacity(common_data.luts[lut_index].len());
let n = common_data.luts[lut_index].len();
let nb_padded_elts = LookupTableGate::num_slots(&common_data.config)
- n % LookupTableGate::num_slots(&common_data.config);
let nb_slots = LookupTableGate::num_slots(&common_data.config);
let nb_padded_elts = (nb_slots - n % nb_slots) % nb_slots;
let (padding_inp, padding_out) = common_data.luts[lut_index][0];
for (input, output) in common_data.luts[lut_index].iter() {
coeffs.push(F::from_canonical_u16(*input) + b * F::from_canonical_u16(*output));
Expand Down Expand Up @@ -763,8 +763,8 @@ pub(crate) fn get_lut_poly_circuit<F: RichField + Extendable<D>, const D: usize>
let b = deltas[LookupChallenges::ChallengeB as usize];
let delta = deltas[LookupChallenges::ChallengeDelta as usize];
let n = common_data.luts[lut_index].len();
let nb_padded_elts = LookupTableGate::num_slots(&common_data.config)
- n % LookupTableGate::num_slots(&common_data.config);
let nb_slots = LookupTableGate::num_slots(&common_data.config);
let nb_padded_elts = (nb_slots - n % nb_slots) % nb_slots;
let (padding_inp, padding_out) = common_data.luts[lut_index][0];
let mut coeffs: Vec<Target> = common_data.luts[lut_index]
.iter()
Expand Down

0 comments on commit 753389a

Please sign in to comment.