pub trait Fancy {
type Item: Clone + HasModulus;
type Error: Debug + Display + From<FancyError>;
// Required methods
fn constant(&mut self, x: u16, q: u16) -> Result<Self::Item, Self::Error>;
fn output(&mut self, x: &Self::Item) -> Result<Option<u16>, Self::Error>;
// Provided method
fn outputs(
&mut self,
xs: &[Self::Item],
) -> Result<Option<Vec<u16>>, Self::Error> { ... }
}Expand description
DSL for the basic computations supported by fancy-garbling.
Primarily used as a supertrait for FancyBinary and FancyArithmetic,
which indicate computation supported by the DSL.
Required Associated Types§
Sourcetype Item: Clone + HasModulus
type Item: Clone + HasModulus
The underlying wire datatype created by an object implementing Fancy.