diff --git a/src/gadgets/permutation.rs b/src/gadgets/permutation.rs index aa06294a..c60eda7d 100644 --- a/src/gadgets/permutation.rs +++ b/src/gadgets/permutation.rs @@ -72,9 +72,7 @@ impl, const D: usize> CircuitBuilder { let chunk_size = a1.len(); - let (gate, gate_index, mut next_copy) = self.find_switch_gate(chunk_size); - - let num_copies = gate.num_copies; + let (gate, gate_index, next_copy) = self.find_switch_gate(chunk_size); let mut c = Vec::new(); let mut d = Vec::new(); diff --git a/src/plonk/circuit_builder.rs b/src/plonk/circuit_builder.rs index 9a90cac2..3296061c 100644 --- a/src/plonk/circuit_builder.rs +++ b/src/plonk/circuit_builder.rs @@ -822,7 +822,7 @@ impl, const D: usize> CircuitBuilder { ]); } - let (gate, gate_index, mut next_copy) = + let (gate, gate_index, next_copy) = match self.batched_gates.current_switch_gates[chunk_size - 1].clone() { None => { let gate = SwitchGate::::new_from_config(self.config.clone(), chunk_size); @@ -834,7 +834,7 @@ impl, const D: usize> CircuitBuilder { let num_copies = gate.num_copies; - if next_copy == num_copies { + if next_copy == num_copies - 1 { self.batched_gates.current_switch_gates[chunk_size - 1] = None; } else { self.batched_gates.current_switch_gates[chunk_size - 1] =