diff --git a/plonky2-monolith/src/gates/base_sum_custom.rs b/plonky2-monolith/src/gates/base_sum_custom.rs index 1788b80..65260d7 100644 --- a/plonky2-monolith/src/gates/base_sum_custom.rs +++ b/plonky2-monolith/src/gates/base_sum_custom.rs @@ -342,7 +342,7 @@ impl, const B: usize, const D: usize> SimpleGenerat vec![self.wire_sum()] } - fn run_once(&self, witness: &PartitionWitness, out_buffer: &mut GeneratedValues) { + fn run_once(&self, witness: &PartitionWitness, out_buffer: &mut GeneratedValues) -> anyhow::Result<()>{ let sum_value = witness.get_target(self.wire_sum()).to_canonical_u64() as usize; debug_assert_eq!( (0..self.num_limbs).fold(sum_value, |acc, _| acc / B), @@ -380,13 +380,14 @@ impl, const B: usize, const D: usize> SimpleGenerat let z_field = if a == F::ZERO { F::ONE } else { b }; let z_prime_field = F::inverse(&(z_field - F::from_canonical_u64(1_u64 << 32) + F::ONE)) * z_field; - out_buffer.set_target(self.boundary_constraints_wires()[0], z_field); - out_buffer.set_target(self.boundary_constraints_wires()[1], z_prime_field); + out_buffer.set_target(self.boundary_constraints_wires()[0], z_field)?; + out_buffer.set_target(self.boundary_constraints_wires()[1], z_prime_field)?; assert_eq!( z_prime_field * (z_field - F::from_canonical_u64(1_u64 << 32) + F::ONE), z_field ); + Ok(()) } fn serialize(&self, dst: &mut Vec, _common_data: &CommonCircuitData) -> IoResult<()> { diff --git a/plonky2-monolith/src/gates/gadget.rs b/plonky2-monolith/src/gates/gadget.rs index c66c7ba..2b66e04 100644 --- a/plonky2-monolith/src/gates/gadget.rs +++ b/plonky2-monolith/src/gates/gadget.rs @@ -77,7 +77,7 @@ impl, const B: usize, const D: usize> SimpleGenerat self.0.limbs_wires() } - fn run_once(&self, witness: &PartitionWitness, out_buffer: &mut GeneratedValues) { + fn run_once(&self, witness: &PartitionWitness, out_buffer: &mut GeneratedValues) -> anyhow::Result<()>{ let sum = self .0 .limbs_wires() @@ -86,7 +86,8 @@ impl, const B: usize, const D: usize> SimpleGenerat .rev() .fold(F::ZERO, |acc, limb| acc * F::from_canonical_usize(B) + limb); - out_buffer.set_target(self.0.wire_sum(), sum); + out_buffer.set_target(self.0.wire_sum(), sum)?; + Ok(()) } fn serialize(&self, dst: &mut Vec, _common_data: &CommonCircuitData) -> IoResult<()> {