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
Read a value from input and emit it on the wire
Tuple Fields of Input
0: usize
Emit a random value on the wire
Tuple Fields of Random
0: usize
Subtract the final wire from the second wire
Assert that the wire has the const value zero
Tuple Fields of AssertZero
0: usize
Emit the const value on the wire
Tuple Fields of Const
0: usize
1: T
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