From 862eee8e70e008fdeaf6fc0efd617702833c759b Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Wed, 29 Sep 2021 16:33:34 -0700 Subject: [PATCH] fix --- src/gates/arithmetic_u32.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gates/arithmetic_u32.rs b/src/gates/arithmetic_u32.rs index 6747ad57..baa52497 100644 --- a/src/gates/arithmetic_u32.rs +++ b/src/gates/arithmetic_u32.rs @@ -5,7 +5,6 @@ use itertools::unfold; use crate::field::extension_field::target::ExtensionTarget; use crate::field::extension_field::Extendable; use crate::field::field_types::{Field, RichField}; -use crate::gates::arithmetic::NUM_ARITHMETIC_OPS; use crate::gates::gate::Gate; use crate::iop::generator::{GeneratedValues, SimpleGenerator, WitnessGenerator}; use crate::iop::target::Target; @@ -25,19 +24,24 @@ pub struct U32ArithmeticGate, const D: usize> { impl, const D: usize> U32ArithmeticGate { pub fn wire_ith_multiplicand_0(i: usize) -> usize { + debug_assert!(i < NUM_U32_ARITHMETIC_OPS); 5 * i } pub fn wire_ith_multiplicand_1(i: usize) -> usize { + debug_assert!(i < NUM_U32_ARITHMETIC_OPS); 5 * i + 1 } pub fn wire_ith_addend(i: usize) -> usize { + debug_assert!(i < NUM_U32_ARITHMETIC_OPS); 5 * i + 2 } pub fn wire_ith_output_low_half(i: usize) -> usize { + debug_assert!(i < NUM_U32_ARITHMETIC_OPS); 5 * i + 3 } pub fn wire_ith_output_high_half(i: usize) -> usize { + debug_assert!(i < NUM_U32_ARITHMETIC_OPS); 5 * i + 4 } @@ -49,8 +53,9 @@ impl, const D: usize> U32ArithmeticGate { } pub fn wire_ith_output_jth_limb(i: usize, j: usize) -> usize { + debug_assert!(i < NUM_U32_ARITHMETIC_OPS); debug_assert!(j < Self::num_limbs()); - 5 * NUM_ARITHMETIC_OPS + Self::num_limbs() * i + j + 5 * NUM_U32_ARITHMETIC_OPS + Self::num_limbs() * i + j } }