diff --git a/src/gadgets/insert.rs b/src/gadgets/insert.rs index 32aa250e..78bf54cc 100644 --- a/src/gadgets/insert.rs +++ b/src/gadgets/insert.rs @@ -1,7 +1,7 @@ use crate::circuit_builder::CircuitBuilder; use crate::field::extension_field::target::ExtensionTarget; use crate::field::extension_field::Extendable; -use crate::generator::EqualityGenerator; +use crate::generator::EqualsZeroGenerator; use crate::target::Target; impl, const D: usize> CircuitBuilder { @@ -10,7 +10,7 @@ impl, const D: usize> CircuitBuilder { let m = todo!(); let y = todo!(); - self.add_generator(EqualityGenerator { x, m, y }); + self.add_generator(EqualsZeroGenerator { x, m, y }); y } diff --git a/src/generator.rs b/src/generator.rs index 64f21604..f54b820e 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -131,32 +131,32 @@ impl SimpleGenerator for RandomValueGenerator { } } -/// A generator for including a random value -pub(crate) struct EqualityGenerator { - pub(crate) x: Target, - pub(crate) m: Target, - pub(crate) y: Target, +/// A generator for testing if a value equals zero +pub(crate) struct EqualsZeroGenerator { + pub(crate) to_test: Target, + pub(crate) dummy: Target, + pub(crate) is_zero: Target, } -impl SimpleGenerator for EqualityGenerator { +impl SimpleGenerator for EqualsZeroGenerator { fn dependencies(&self) -> Vec { - vec![self.x] + vec![self.to_test] } fn run_once(&self, witness: &PartialWitness) -> PartialWitness { - let x_value = witness.get_target(self.x); + let to_test_value = witness.get_target(self.to_test); - let y_value = if x_value == F::ZERO { F::ZERO } else { F::ONE }; + let is_zero_value = if to_test_value == F::ZERO { F::ZERO } else { F::ONE }; - let m_value = if x_value == F::ZERO { + let dummy_value = if to_test_value == F::ZERO { F::ONE } else { - x_value.inverse() + to_test_value.inverse() }; let mut witness = PartialWitness::new(); - witness.set_target(self.m, m_value); - witness.set_target(self.y, y_value); + witness.set_target(self.dummy, dummy_value); + witness.set_target(self.is_zero, is_zero_value); witness } }