Overflow fixes

This commit is contained in:
wborgeaud 2021-10-05 14:27:30 +02:00
parent 73f9a0be6b
commit 6d601c6113
2 changed files with 2 additions and 1 deletions

View File

@ -16,7 +16,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
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![]))

View File

@ -23,6 +23,7 @@ pub struct ComparisonGate<F: PrimeField + Extendable<D>, const D: usize> {
impl<F: RichField + Extendable<D>, const D: usize> ComparisonGate<F, D> {
pub fn new(num_bits: usize, num_chunks: usize) -> Self {
debug_assert!(num_bits < 64);
Self {
num_bits,
num_chunks,