diff --git a/src/circuit/gadget/utilities.rs b/src/circuit/gadget/utilities.rs index 36e75aa5..59962230 100644 --- a/src/circuit/gadget/utilities.rs +++ b/src/circuit/gadget/utilities.rs @@ -123,10 +123,9 @@ pub fn bitrange_subset(field_elem: F, bitrange: Ra /// Check that an expression is in the small range [0..range), /// i.e. 0 ≤ word < range. pub fn range_check(word: Expression, range: usize) -> Expression { - (0..range) - .map(|i| Expression::Constant(F::from_u64(i as u64))) - .reduce(|acc, i| acc * (word.clone() - i)) - .expect("range > 0") + (1..range).fold(word.clone(), |acc, i| { + acc * (word.clone() - Expression::Constant(F::from_u64(i as u64))) + }) } #[cfg(test)]