arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-core/src/layouts/prepared/mod.rs
poulpy-core/src/layouts/prepared/mod.rsRaw
 1mod gglwe_atk;
 2mod gglwe_ct;
 3mod gglwe_ksk;
 4mod gglwe_tsk;
 5mod ggsw_ct;
 6mod glwe_pk;
 7mod glwe_sk;
 8mod glwe_to_lwe_ksk;
 9mod lwe_ksk;
10mod lwe_to_glwe_ksk;
11
12pub use gglwe_atk::*;
13pub use gglwe_ct::*;
14pub use gglwe_ksk::*;
15pub use gglwe_tsk::*;
16pub use ggsw_ct::*;
17pub use glwe_pk::*;
18pub use glwe_sk::*;
19pub use glwe_to_lwe_ksk::*;
20pub use lwe_ksk::*;
21pub use lwe_to_glwe_ksk::*;
22use poulpy_hal::layouts::{Backend, Module, Scratch};
23
24pub trait PrepareScratchSpace<B: Backend, T> {
25    fn prepare_scratch_space(&self, module: &Module<B>, infos: &T) -> usize;
26}
27
28pub trait PrepareAlloc<B: Backend, T> {
29    fn prepare_alloc(&self, module: &Module<B>, scratch: &mut Scratch<B>) -> T;
30}
31
32pub trait Prepare<B: Backend, T> {
33    fn prepare(&mut self, module: &Module<B>, other: &T, scratch: &mut Scratch<B>);
34}