[][src]Trait reverie::algebra::Domain

pub trait Domain: Debug + Copy + Send + Sync + 'static {
    type Scalar: LocalOperation + RingElement + Packable + Sized;
    type Batch: RingModule<Self::Scalar> + Samplable + Serializable + Debug + Packable;
    type Sharing: Sharing<Self::Scalar> + Debug;

    pub const PLAYERS: usize;
    pub const PREPROCESSING_REPETITIONS: usize;
    pub const ONLINE_REPETITIONS: usize;

    pub fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch]);
pub fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing]); }

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

Loading content...

Associated Constants

Loading content...

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

Loading content...

Implementors

impl Domain for GF2P8[src]

impl Domain for GF2P64[src]

impl Domain for GF2P64_85[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]

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

Loading content...