mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-08 16:53:07 +00:00
Fix padding for LookupTableGate (#1661)
This commit is contained in:
parent
6eb63f0200
commit
753389a2ca
@ -94,7 +94,6 @@ pub fn set_lookup_wires<
|
|||||||
multiplicities[0] += 1;
|
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 {
|
for lut_entry in 0..lut_len {
|
||||||
let row = first_lut_gate - lut_entry / num_lut_entries;
|
let row = first_lut_gate - lut_entry / num_lut_entries;
|
||||||
let col = lut_entry % num_lut_entries;
|
let col = lut_entry % num_lut_entries;
|
||||||
|
|||||||
@ -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 b = deltas[LookupChallenges::ChallengeB as usize];
|
||||||
let mut coeffs = Vec::with_capacity(common_data.luts[lut_index].len());
|
let mut coeffs = Vec::with_capacity(common_data.luts[lut_index].len());
|
||||||
let n = common_data.luts[lut_index].len();
|
let n = common_data.luts[lut_index].len();
|
||||||
let nb_padded_elts = LookupTableGate::num_slots(&common_data.config)
|
let nb_slots = LookupTableGate::num_slots(&common_data.config);
|
||||||
- n % 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 (padding_inp, padding_out) = common_data.luts[lut_index][0];
|
||||||
for (input, output) in common_data.luts[lut_index].iter() {
|
for (input, output) in common_data.luts[lut_index].iter() {
|
||||||
coeffs.push(F::from_canonical_u16(*input) + b * F::from_canonical_u16(*output));
|
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>
|
|||||||
let b = deltas[LookupChallenges::ChallengeB as usize];
|
let b = deltas[LookupChallenges::ChallengeB as usize];
|
||||||
let delta = deltas[LookupChallenges::ChallengeDelta as usize];
|
let delta = deltas[LookupChallenges::ChallengeDelta as usize];
|
||||||
let n = common_data.luts[lut_index].len();
|
let n = common_data.luts[lut_index].len();
|
||||||
let nb_padded_elts = LookupTableGate::num_slots(&common_data.config)
|
let nb_slots = LookupTableGate::num_slots(&common_data.config);
|
||||||
- n % 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 (padding_inp, padding_out) = common_data.luts[lut_index][0];
|
||||||
let mut coeffs: Vec<Target> = common_data.luts[lut_index]
|
let mut coeffs: Vec<Target> = common_data.luts[lut_index]
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user