1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use super::batch::Batch;
use super::scalar::Scalar;
use super::share64::Sharing64;
use super::Domain;
use serde::{Deserialize, Serialize};
#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
pub struct Gf2P64_64();
impl Domain for Gf2P64_64 {
const PLAYERS: usize = 64;
const PREPROCESSING_REPETITIONS: usize = 1662;
const ONLINE_REPETITIONS: usize = 44;
const NR_OF_BITS: usize = 1;
type Scalar = Scalar;
type Batch = Batch;
type Sharing = Sharing64;
fn convert(dst: &mut [Self::Sharing], src: &[Self::Batch]) {
debug_assert_eq!(src.len(), Self::PLAYERS);
let sharing: &mut Self::Sharing = &mut dst[0];
sharing.0.clone_from_slice(&src)
}
fn convert_inv(dst: &mut [Self::Batch], src: &[Self::Sharing]) {
let sharing: &Self::Sharing = &src[0];
dst.clone_from_slice(&sharing.0)
}
}