[−][src]Trait reverie::algebra::Domain
Represents a ring and player count instance of the protocol
Associated Types
type Scalar: LocalOperation + RingElement + Packable + Sized
[src]
type Batch: RingModule<Self::Scalar> + Samplable + Serializable + Debug + Packable
[src]
a batch of ring elements belonging to a single player
type Sharing: Sharing<Self::Scalar> + Debug
[src]
a sharing of a value across all players
Associated Constants
pub const PLAYERS: usize
[src]
pub const PREPROCESSING_REPETITIONS: usize
[src]
pub const ONLINE_REPETITIONS: usize
[src]
Required methods
pub fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch])
[src]
Map from:
Self::Batch ^ Self::Sharing::DIMENSION -> Self::Sharing ^ Self::Batch::DIMENSION
This corresponds to a transpose of the following matrix:
The destination is always holds at least SHARINGS_PER_BATCH bytes.
pub fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing])
[src]
Map from:
Self::Sharing ^ Self::Batch::DIMENSION -> Self::Batch ^ Self::Sharing::DIMENSION
Implementors
impl Domain for GF2P8
[src]
type Scalar = BitScalar
type Batch = BitBatch
type Sharing = BitSharing8
pub const PLAYERS: usize
[src]
pub const PREPROCESSING_REPETITIONS: usize
[src]
pub const ONLINE_REPETITIONS: usize
[src]
pub fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch])
[src]
pub fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing])
[src]
impl Domain for GF2P64
[src]
type Scalar = BitScalar
type Batch = BitBatch
type Sharing = BitSharing64
pub const PLAYERS: usize
[src]
pub const PREPROCESSING_REPETITIONS: usize
[src]
pub const ONLINE_REPETITIONS: usize
[src]
pub fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch])
[src]
pub fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing])
[src]
impl Domain for GF2P64_85
[src]
pub const PLAYERS: usize
[src]
pub const PREPROCESSING_REPETITIONS: usize
[src]
pub const ONLINE_REPETITIONS: usize
[src]
type Scalar = Scalar
type Batch = Batch
type Sharing = Sharing64
pub fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch])
[src]
Conversion for this domain is trivial
pub fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing])
[src]
Conversion for this domain is trivial
impl Domain for GF2P64_64
[src]
pub const PLAYERS: usize
[src]
pub const PREPROCESSING_REPETITIONS: usize
[src]
pub const ONLINE_REPETITIONS: usize
[src]
type Scalar = Scalar
type Batch = Batch
type Sharing = Sharing64
pub fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch])
[src]
Conversion for this domain is trivial
pub fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing])
[src]
Conversion for this domain is trivial