From 68af28e9a2c066899e6c456cd5c6e1915c9a7d69 Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Fri, 13 Aug 2021 17:41:26 +0200 Subject: [PATCH] Fix tests --- src/fri/commitment.rs | 1 + src/gadgets/select.rs | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/fri/commitment.rs b/src/fri/commitment.rs index d62fa33d..f665e058 100644 --- a/src/fri/commitment.rs +++ b/src/fri/commitment.rs @@ -288,6 +288,7 @@ mod tests { config: CircuitConfig { fri_config, num_routed_wires: 6, + zero_knowledge: true, ..CircuitConfig::large_config() }, degree_bits, diff --git a/src/gadgets/select.rs b/src/gadgets/select.rs index 58de09c6..f77a38f5 100644 --- a/src/gadgets/select.rs +++ b/src/gadgets/select.rs @@ -14,10 +14,23 @@ impl, const D: usize> CircuitBuilder { x: ExtensionTarget, y: ExtensionTarget, ) -> ExtensionTarget { - let gate = self.num_gates(); // Holds `by - y`. - let first_out = - ExtensionTarget::from_range(gate, ArithmeticExtensionGate::::wires_first_output()); + let (gate, range) = if let Some((g, c_0, c_1)) = self.free_arithmetic { + if c_0 == F::ONE && c_1 == F::NEG_ONE { + (g, ArithmeticExtensionGate::::wires_third_output()) + } else { + ( + self.num_gates(), + ArithmeticExtensionGate::::wires_first_output(), + ) + } + } else { + ( + self.num_gates(), + ArithmeticExtensionGate::::wires_first_output(), + ) + }; + let first_out = ExtensionTarget::from_range(gate, range); self.double_arithmetic_extension(F::ONE, F::NEG_ONE, b, y, y, b, x, first_out) .1 }