diff --git a/src/gadgets/split_join.rs b/src/gadgets/split_join.rs index dddae0be..a672b61a 100644 --- a/src/gadgets/split_join.rs +++ b/src/gadgets/split_join.rs @@ -16,7 +16,7 @@ impl, const D: usize> CircuitBuilder { if num_bits == 0 { return Vec::new(); } - let bits_per_gate = self.config.num_routed_wires - BaseSumGate::<2>::START_LIMBS; + let bits_per_gate = 63.min(self.config.num_routed_wires - BaseSumGate::<2>::START_LIMBS); let k = ceil_div_usize(num_bits, bits_per_gate); let gates = (0..k) .map(|_| self.add_gate(BaseSumGate::<2>::new(bits_per_gate), vec![])) diff --git a/src/gates/comparison.rs b/src/gates/comparison.rs index 1a472550..364a1611 100644 --- a/src/gates/comparison.rs +++ b/src/gates/comparison.rs @@ -23,6 +23,7 @@ pub struct ComparisonGate, const D: usize> { impl, const D: usize> ComparisonGate { pub fn new(num_bits: usize, num_chunks: usize) -> Self { + debug_assert!(num_bits < 64); Self { num_bits, num_chunks,