From bd427cd62944fd0c6355cd653aabee38af02144c Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Wed, 10 Nov 2021 12:10:32 -0800 Subject: [PATCH] fixed failing tests --- src/plonk/circuit_builder.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/plonk/circuit_builder.rs b/src/plonk/circuit_builder.rs index c063aa85..c6c49826 100644 --- a/src/plonk/circuit_builder.rs +++ b/src/plonk/circuit_builder.rs @@ -973,6 +973,22 @@ impl, const D: usize> CircuitBuilder { } } + /// Fill the remaining unused random access operations with zeros, so that all + /// `RandomAccessGenerator`s are run. + fn fill_random_access_gates(&mut self) { + let zero = self.zero(); + for (vec_size, (_, i)) in self.batched_gates.free_random_access.clone() { + let max_copies = RandomAccessGate::::max_num_copies( + self.config.num_routed_wires, + self.config.num_wires, + vec_size, + ); + for _ in i..max_copies { + self.random_access(zero, zero, vec![zero; vec_size]); + } + } + } + /// Fill the remaining unused switch gates with dummy values, so that all /// `SwitchGenerator`s are run. fn fill_switch_gates(&mut self) { @@ -1048,6 +1064,7 @@ impl, const D: usize> CircuitBuilder { fn fill_batched_gates(&mut self) { self.fill_arithmetic_gates(); + self.fill_random_access_gates(); self.fill_switch_gates(); self.fill_u32_arithmetic_gates(); self.fill_u32_subtraction_gates();