Skip to content

Commit 753389a

Browse files
authored
Fix padding for LookupTableGate (#1661)
1 parent 6eb63f0 commit 753389a

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

plonky2/src/plonk/prover.rs

-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ pub fn set_lookup_wires<
9494
multiplicities[0] += 1;
9595
}
9696

97-
// We don't need to pad the last `LookupTableGate`; extra wires are set to 0 by default, which satisfies the constraints.
9897
for lut_entry in 0..lut_len {
9998
let row = first_lut_gate - lut_entry / num_lut_entries;
10099
let col = lut_entry % num_lut_entries;

plonky2/src/plonk/vanishing_poly.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ pub(crate) fn get_lut_poly<F: RichField + Extendable<D>, const D: usize>(
3636
let b = deltas[LookupChallenges::ChallengeB as usize];
3737
let mut coeffs = Vec::with_capacity(common_data.luts[lut_index].len());
3838
let n = common_data.luts[lut_index].len();
39-
let nb_padded_elts = LookupTableGate::num_slots(&common_data.config)
40-
- n % LookupTableGate::num_slots(&common_data.config);
39+
let nb_slots = LookupTableGate::num_slots(&common_data.config);
40+
let nb_padded_elts = (nb_slots - n % nb_slots) % nb_slots;
4141
let (padding_inp, padding_out) = common_data.luts[lut_index][0];
4242
for (input, output) in common_data.luts[lut_index].iter() {
4343
coeffs.push(F::from_canonical_u16(*input) + b * F::from_canonical_u16(*output));
@@ -763,8 +763,8 @@ pub(crate) fn get_lut_poly_circuit<F: RichField + Extendable<D>, const D: usize>
763763
let b = deltas[LookupChallenges::ChallengeB as usize];
764764
let delta = deltas[LookupChallenges::ChallengeDelta as usize];
765765
let n = common_data.luts[lut_index].len();
766-
let nb_padded_elts = LookupTableGate::num_slots(&common_data.config)
767-
- n % LookupTableGate::num_slots(&common_data.config);
766+
let nb_slots = LookupTableGate::num_slots(&common_data.config);
767+
let nb_padded_elts = (nb_slots - n % nb_slots) % nb_slots;
768768
let (padding_inp, padding_out) = common_data.luts[lut_index][0];
769769
let mut coeffs: Vec<Target> = common_data.luts[lut_index]
770770
.iter()

0 commit comments

Comments
 (0)