From 0b8f5860f53a31fe3c61fa4cd422d4442b430a81 Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Tue, 27 Jul 2021 10:46:10 -0700 Subject: [PATCH] removed if statement --- src/gates/exponentiation.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/gates/exponentiation.rs b/src/gates/exponentiation.rs index d090cd3f..da250bb2 100644 --- a/src/gates/exponentiation.rs +++ b/src/gates/exponentiation.rs @@ -73,11 +73,10 @@ impl, const D: usize> Gate for ExponentiationGate { let mut current_intermediate_value = F::Extension::ONE; for i in 0..self.num_power_bits { - let computed_intermediate_value = if power_bits[i] == F::Extension::ONE { - current_intermediate_value * base - } else { - current_intermediate_value - }; + let cur_bit = power_bits[i]; + let not_cur_bit = F::Extension::ONE - cur_bit; + let computed_intermediate_value = + current_intermediate_value * (cur_bit * base + not_cur_bit); constraints.push(computed_intermediate_value - intermediate_values[i]); current_intermediate_value = computed_intermediate_value * computed_intermediate_value; }