poulpy/poulpy-schemes/src/tfhe/circuit_bootstrapping/mod.rs
poulpy-schemes/src/tfhe/circuit_bootstrapping/mod.rsRaw
1mod circuit;
2mod key;
3
4//[cfg(tests)]
5//pub mod tests;
6
7pub use circuit::*;
8pub use key::*;
9
10use poulpy_core::layouts::{GGSW, LWE};
11
12use poulpy_hal::layouts::{Backend, DataMut, DataRef, Module, Scratch};
13
14pub trait CirtuitBootstrappingExecute<B: Backend> {
15 fn execute_to_constant<DM: DataMut, DR: DataRef>(
16 &self,
17 module: &Module<B>,
18 res: &mut GGSW<DM>,
19 lwe: &LWE<DR>,
20 log_domain: usize,
21 extension_factor: usize,
22 scratch: &mut Scratch<B>,
23 );
24
25 #[allow(clippy::too_many_arguments)]
26 fn execute_to_exponent<DM: DataMut, DR: DataRef>(
27 &self,
28 module: &Module<B>,
29 log_gap_out: usize,
30 res: &mut GGSW<DM>,
31 lwe: &LWE<DR>,
32 log_domain: usize,
33 extension_factor: usize,
34 scratch: &mut Scratch<B>,
35 );
36}