Enum mcircuit::Operation [−][src]
pub enum Operation<T: WireValue> { Input(usize), Random(usize), Add(usize, usize, usize), AddConst(usize, usize, T), Sub(usize, usize, usize), SubConst(usize, usize, T), Mul(usize, usize, usize), MulConst(usize, usize, T), AssertZero(usize), Const(usize, T), }
Variants
Input(usize)
Read a value from input and emit it on the wire
Random(usize)
Emit a random value on the wire
Subtract the final wire from the second wire
AssertZero(usize)
Assert that the wire has the const value zero
Const(usize, T)
Emit the const value on the wire
Implementations
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
fn translate<'a, I1, I2>(&self, win: I1, wout: I2) -> Option<Self> where
Self: Sized,
I1: Iterator<Item = usize>,
I2: Iterator<Item = usize>,
Auto Trait Implementations
impl<T> RefUnwindSafe for Operation<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Operation<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more