poulpy/poulpy-schemes/src/tfhe/bdd_arithmetic/parameters.rs
poulpy-schemes/src/tfhe/bdd_arithmetic/parameters.rsRaw
1#[cfg(test)]
2use poulpy_core::layouts::{
3 AutomorphismKeyLayout, Base2K, Degree, Dnum, Dsize, GGSWLayout, GLWELayout, GLWEToLWEKeyLayout, Rank, TensorKeyLayout,
4 TorusPrecision,
5};
6
7#[cfg(test)]
8use crate::tfhe::{
9 bdd_arithmetic::BDDKeyLayout, blind_rotation::BlindRotationKeyLayout, circuit_bootstrapping::CircuitBootstrappingKeyLayout,
10};
11
12#[cfg(test)]
13pub(crate) const TEST_N_GLWE: u32 = 512;
14#[cfg(test)]
15pub(crate) const TEST_N_LWE: u32 = 77;
16#[cfg(test)]
17pub(crate) const TEST_BASE2K: u32 = 13;
18#[cfg(test)]
19pub(crate) const TEST_K_GLWE: u32 = 26;
20#[cfg(test)]
21pub(crate) const TEST_K_GGSW: u32 = 39;
22#[cfg(test)]
23pub(crate) const TEST_BLOCK_SIZE: u32 = 7;
24#[cfg(test)]
25pub(crate) const TEST_RANK: u32 = 2;
26
27#[cfg(test)]
28pub(crate) static TEST_GLWE_INFOS: GLWELayout = GLWELayout {
29 n: Degree(TEST_N_GLWE),
30 base2k: Base2K(TEST_BASE2K),
31 k: TorusPrecision(TEST_K_GLWE),
32 rank: Rank(TEST_RANK),
33};
34
35#[cfg(test)]
36pub(crate) static TEST_GGSW_INFOS: GGSWLayout = GGSWLayout {
37 n: Degree(TEST_N_GLWE),
38 base2k: Base2K(TEST_BASE2K),
39 k: TorusPrecision(TEST_K_GGSW),
40 rank: Rank(TEST_RANK),
41 dnum: Dnum(2),
42 dsize: Dsize(1),
43};
44
45#[cfg(test)]
46pub(crate) static TEST_BDD_KEY_LAYOUT: BDDKeyLayout = BDDKeyLayout {
47 cbt: CircuitBootstrappingKeyLayout {
48 layout_brk: BlindRotationKeyLayout {
49 n_glwe: Degree(TEST_N_GLWE),
50 n_lwe: Degree(TEST_N_LWE),
51 base2k: Base2K(TEST_BASE2K),
52 k: TorusPrecision(52),
53 dnum: Dnum(3),
54 rank: Rank(TEST_RANK),
55 },
56 layout_atk: AutomorphismKeyLayout {
57 n: Degree(TEST_N_GLWE),
58 base2k: Base2K(TEST_BASE2K),
59 k: TorusPrecision(52),
60 rank: Rank(TEST_RANK),
61 dnum: Dnum(3),
62 dsize: Dsize(1),
63 },
64 layout_tsk: TensorKeyLayout {
65 n: Degree(TEST_N_GLWE),
66 base2k: Base2K(TEST_BASE2K),
67 k: TorusPrecision(52),
68 rank: Rank(TEST_RANK),
69 dnum: Dnum(3),
70 dsize: Dsize(1),
71 },
72 },
73 ks: GLWEToLWEKeyLayout {
74 n: Degree(TEST_N_GLWE),
75 base2k: Base2K(TEST_BASE2K),
76 k: TorusPrecision(39),
77 rank_in: Rank(TEST_RANK),
78 dnum: Dnum(2),
79 },
80};