concrete_integer/parameters/
mod.rs

1pub use concrete_shortint::Parameters;
2
3pub use concrete_core::prelude::{
4    DecompositionBaseLog, DecompositionLevelCount, DispersionParameter, GlweDimension,
5    LweDimension, PolynomialSize, StandardDev,
6};
7use concrete_shortint::parameters::{CarryModulus, MessageModulus};
8
9pub const ALL_PARAMETER_VEC_INTEGER_16_BITS: [Parameters; 2] = [
10    PARAM_MESSAGE_4_CARRY_4_16_BITS,
11    PARAM_MESSAGE_2_CARRY_2_16_BITS,
12];
13
14pub const PARAM_MESSAGE_4_CARRY_4_16_BITS: Parameters = Parameters {
15    lwe_dimension: LweDimension(481),
16    glwe_dimension: GlweDimension(1),
17    polynomial_size: PolynomialSize(2048),
18    lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
19    glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
20    pbs_base_log: DecompositionBaseLog(9),
21    pbs_level: DecompositionLevelCount(4),
22    ks_level: DecompositionLevelCount(9),
23    ks_base_log: DecompositionBaseLog(1),
24    pfks_level: DecompositionLevelCount(4),
25    pfks_base_log: DecompositionBaseLog(9),
26    pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
27    cbs_level: DecompositionLevelCount(4),
28    cbs_base_log: DecompositionBaseLog(6),
29    message_modulus: MessageModulus(16),
30    carry_modulus: CarryModulus(16),
31};
32
33pub const PARAM_MESSAGE_2_CARRY_2_16_BITS: Parameters = Parameters {
34    lwe_dimension: LweDimension(493),
35    glwe_dimension: GlweDimension(1),
36    polynomial_size: PolynomialSize(2048),
37    lwe_modular_std_dev: StandardDev(0.00049144710341316649172),
38    glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
39    pbs_base_log: DecompositionBaseLog(16),
40    pbs_level: DecompositionLevelCount(2),
41    ks_level: DecompositionLevelCount(5),
42    ks_base_log: DecompositionBaseLog(2),
43    pfks_level: DecompositionLevelCount(2),
44    pfks_base_log: DecompositionBaseLog(16),
45    pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
46    cbs_level: DecompositionLevelCount(6),
47    cbs_base_log: DecompositionBaseLog(3),
48    message_modulus: MessageModulus(4),
49    carry_modulus: CarryModulus(4),
50};
51
52pub const PARAM_MESSAGE_4_CARRY_4_32_BITS: Parameters = Parameters {
53    lwe_dimension: LweDimension(481),
54    glwe_dimension: GlweDimension(1),
55    polynomial_size: PolynomialSize(2048),
56    lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
57    glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
58    pbs_base_log: DecompositionBaseLog(9),
59    pbs_level: DecompositionLevelCount(4),
60    ks_level: DecompositionLevelCount(9),
61    ks_base_log: DecompositionBaseLog(1),
62    pfks_level: DecompositionLevelCount(4),
63    pfks_base_log: DecompositionBaseLog(9),
64    pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
65    cbs_level: DecompositionLevelCount(4),
66    cbs_base_log: DecompositionBaseLog(6),
67    message_modulus: MessageModulus(16),
68    carry_modulus: CarryModulus(16),
69};
70pub const PARAM_MESSAGE_2_CARRY_2_32_BITS: Parameters = Parameters {
71    lwe_dimension: LweDimension(481),
72    glwe_dimension: GlweDimension(1),
73    polynomial_size: PolynomialSize(2048),
74    lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
75    glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
76    pbs_base_log: DecompositionBaseLog(11),
77    pbs_level: DecompositionLevelCount(3),
78    ks_level: DecompositionLevelCount(9),
79    ks_base_log: DecompositionBaseLog(1),
80    pfks_level: DecompositionLevelCount(3),
81    pfks_base_log: DecompositionBaseLog(11),
82    pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
83    cbs_level: DecompositionLevelCount(6),
84    cbs_base_log: DecompositionBaseLog(3),
85    message_modulus: MessageModulus(4),
86    carry_modulus: CarryModulus(4),
87};
88pub const PARAM_MESSAGE_1_CARRY_1_32_BITS: Parameters = Parameters {
89    lwe_dimension: LweDimension(493),
90    glwe_dimension: GlweDimension(1),
91    polynomial_size: PolynomialSize(2048),
92    lwe_modular_std_dev: StandardDev(0.00049144710341316649172),
93    glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
94    pbs_base_log: DecompositionBaseLog(15),
95    pbs_level: DecompositionLevelCount(2),
96    ks_level: DecompositionLevelCount(5),
97    ks_base_log: DecompositionBaseLog(2),
98    pfks_level: DecompositionLevelCount(2),
99    pfks_base_log: DecompositionBaseLog(15),
100    pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
101    cbs_level: DecompositionLevelCount(5),
102    cbs_base_log: DecompositionBaseLog(3),
103    message_modulus: MessageModulus(2),
104    carry_modulus: CarryModulus(2),
105};
106
107pub const PARAM_4_BITS_5_BLOCKS: Parameters = Parameters {
108    lwe_dimension: LweDimension(667),
109    glwe_dimension: GlweDimension(2),
110    polynomial_size: PolynomialSize(1024),
111    lwe_modular_std_dev: StandardDev(0.0000000004168323308734758),
112    glwe_modular_std_dev: StandardDev(0.00000000000000000000000000000004905643852600863),
113    pbs_base_log: DecompositionBaseLog(7),
114    pbs_level: DecompositionLevelCount(6),
115    ks_base_log: DecompositionBaseLog(1),
116    ks_level: DecompositionLevelCount(14),
117    pfks_level: DecompositionLevelCount(6),
118    pfks_base_log: DecompositionBaseLog(7),
119    pfks_modular_std_dev: StandardDev(0.00000000000000000000000000000004905643852600863),
120    cbs_level: DecompositionLevelCount(7),
121    cbs_base_log: DecompositionBaseLog(4),
122    message_modulus: MessageModulus(16),
123    carry_modulus: CarryModulus(1),
124};