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)
Tuple Fields
0: usize
Read a value from input and emit it on the wire
Random(usize)
Tuple Fields
0: usize
Emit a random value on the wire
Add(usize, usize, usize)
AddConst(usize, usize, T)
Sub(usize, usize, usize)
Subtract the final wire from the second wire
SubConst(usize, usize, T)
Mul(usize, usize, usize)
MulConst(usize, usize, T)
AssertZero(usize)
Tuple Fields
0: 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