pub enum BinaryGate {
GarblerInput {
id: usize,
},
EvaluatorInput {
id: usize,
},
Constant {
val: u16,
},
Xor {
xref: CircuitRef,
yref: CircuitRef,
out: Option<usize>,
},
And {
xref: CircuitRef,
yref: CircuitRef,
id: usize,
out: Option<usize>,
},
Inv {
xref: CircuitRef,
out: Option<usize>,
},
}Expand description
Binary computation supported by fancy garbling.
id represents the gate number. out gives the output wire index; if out = None, then we use the gate index as the output wire index.
Variants§
GarblerInput
Input of garbler
EvaluatorInput
Input of evaluator
Constant
Constant value
Xor
Xor gate
And
And gate
Inv
Not gate
Trait Implementations§
Source§impl Clone for BinaryGate
impl Clone for BinaryGate
Source§fn clone(&self) -> BinaryGate
fn clone(&self) -> BinaryGate
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BinaryGate
impl Debug for BinaryGate
Source§impl<'de> Deserialize<'de> for BinaryGate
impl<'de> Deserialize<'de> for BinaryGate
Source§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
Source§impl Display for BinaryGate
impl Display for BinaryGate
Source§impl GateType for BinaryGate
impl GateType for BinaryGate
Source§fn make_constant(val: u16) -> Self
fn make_constant(val: u16) -> Self
Generate constant gate
Source§fn make_garbler_input(id: usize) -> Self
fn make_garbler_input(id: usize) -> Self
Generate garbler input gate
Source§fn make_evaluator_input(id: usize) -> Self
fn make_evaluator_input(id: usize) -> Self
Generate evaluator input gate
Source§impl PartialEq for BinaryGate
impl PartialEq for BinaryGate
Source§impl Serialize for BinaryGate
impl Serialize for BinaryGate
impl StructuralPartialEq for BinaryGate
Auto Trait Implementations§
impl Freeze for BinaryGate
impl RefUnwindSafe for BinaryGate
impl Send for BinaryGate
impl Sync for BinaryGate
impl Unpin for BinaryGate
impl UnwindSafe for BinaryGate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IsSameType<T> for T
impl<T> IsSameType<T> for T
§type EqualityProposition = TrueEqualityProposition
type EqualityProposition = TrueEqualityProposition
The [
EqualityProposition] that Self == T