core_utils/preprocessing/
mod.rs1use primitives::correlated_randomness::{
2 bundler::Bundler,
3 dabits::DaBit,
4 singlets::Singlet,
5 stream::{Next, NextVec},
6 triples::Triple,
7};
8
9use crate::{config::MpcConfig, errors::AbortError};
10
11pub mod bundler;
12pub mod iterator;
13pub mod per_stream;
14
15pub use per_stream::{BufferConfigs, CorrelationKind, PerStream, PreprocessingKind, NUM_STREAMS};
16
17pub type NextSinglet<F> = Next<Singlet<F>, AbortError>;
20pub type NextTriple<F> = Next<Triple<F>, AbortError>;
21pub type NextDaBit<F> = Next<DaBit<F>, AbortError>;
22
23pub type NextSinglets<F> = NextVec<Singlet<F>, AbortError>;
24pub type NextTriples<F> = NextVec<Triple<F>, AbortError>;
25pub type NextDaBits<F> = NextVec<DaBit<F>, AbortError>;
26
27pub trait PreprocessingBundler<C: MpcConfig>:
32 Bundler<Iterator = iterator::PreprocessingIterator<C>>
33{
34}
35
36impl<C: MpcConfig, T: Bundler<Iterator = iterator::PreprocessingIterator<C>>>
37 PreprocessingBundler<C> for T
38{
39}