pub use concrete_shortint::Parameters;
pub use concrete_core::prelude::{
DecompositionBaseLog, DecompositionLevelCount, DispersionParameter, GlweDimension,
LweDimension, PolynomialSize, StandardDev,
};
use concrete_shortint::parameters::{CarryModulus, MessageModulus};
pub const ALL_PARAMETER_VEC_INTEGER_16_BITS: [Parameters; 2] = [
PARAM_MESSAGE_4_CARRY_4_16_BITS,
PARAM_MESSAGE_2_CARRY_2_16_BITS,
];
pub const PARAM_MESSAGE_4_CARRY_4_16_BITS: Parameters = Parameters {
lwe_dimension: LweDimension(481),
glwe_dimension: GlweDimension(1),
polynomial_size: PolynomialSize(2048),
lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
pbs_base_log: DecompositionBaseLog(9),
pbs_level: DecompositionLevelCount(4),
ks_level: DecompositionLevelCount(9),
ks_base_log: DecompositionBaseLog(1),
pfks_level: DecompositionLevelCount(4),
pfks_base_log: DecompositionBaseLog(9),
pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
cbs_level: DecompositionLevelCount(4),
cbs_base_log: DecompositionBaseLog(6),
message_modulus: MessageModulus(16),
carry_modulus: CarryModulus(16),
};
pub const PARAM_MESSAGE_2_CARRY_2_16_BITS: Parameters = Parameters {
lwe_dimension: LweDimension(493),
glwe_dimension: GlweDimension(1),
polynomial_size: PolynomialSize(2048),
lwe_modular_std_dev: StandardDev(0.00049144710341316649172),
glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
pbs_base_log: DecompositionBaseLog(16),
pbs_level: DecompositionLevelCount(2),
ks_level: DecompositionLevelCount(5),
ks_base_log: DecompositionBaseLog(2),
pfks_level: DecompositionLevelCount(2),
pfks_base_log: DecompositionBaseLog(16),
pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
cbs_level: DecompositionLevelCount(6),
cbs_base_log: DecompositionBaseLog(3),
message_modulus: MessageModulus(4),
carry_modulus: CarryModulus(4),
};
pub const PARAM_MESSAGE_4_CARRY_4_32_BITS: Parameters = Parameters {
lwe_dimension: LweDimension(481),
glwe_dimension: GlweDimension(1),
polynomial_size: PolynomialSize(2048),
lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
pbs_base_log: DecompositionBaseLog(9),
pbs_level: DecompositionLevelCount(4),
ks_level: DecompositionLevelCount(9),
ks_base_log: DecompositionBaseLog(1),
pfks_level: DecompositionLevelCount(4),
pfks_base_log: DecompositionBaseLog(9),
pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
cbs_level: DecompositionLevelCount(4),
cbs_base_log: DecompositionBaseLog(6),
message_modulus: MessageModulus(16),
carry_modulus: CarryModulus(16),
};
pub const PARAM_MESSAGE_2_CARRY_2_32_BITS: Parameters = Parameters {
lwe_dimension: LweDimension(481),
glwe_dimension: GlweDimension(1),
polynomial_size: PolynomialSize(2048),
lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
pbs_base_log: DecompositionBaseLog(11),
pbs_level: DecompositionLevelCount(3),
ks_level: DecompositionLevelCount(9),
ks_base_log: DecompositionBaseLog(1),
pfks_level: DecompositionLevelCount(3),
pfks_base_log: DecompositionBaseLog(11),
pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
cbs_level: DecompositionLevelCount(6),
cbs_base_log: DecompositionBaseLog(3),
message_modulus: MessageModulus(4),
carry_modulus: CarryModulus(4),
};
pub const PARAM_MESSAGE_1_CARRY_1_32_BITS: Parameters = Parameters {
lwe_dimension: LweDimension(493),
glwe_dimension: GlweDimension(1),
polynomial_size: PolynomialSize(2048),
lwe_modular_std_dev: StandardDev(0.00049144710341316649172),
glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
pbs_base_log: DecompositionBaseLog(15),
pbs_level: DecompositionLevelCount(2),
ks_level: DecompositionLevelCount(5),
ks_base_log: DecompositionBaseLog(2),
pfks_level: DecompositionLevelCount(2),
pfks_base_log: DecompositionBaseLog(15),
pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
cbs_level: DecompositionLevelCount(5),
cbs_base_log: DecompositionBaseLog(3),
message_modulus: MessageModulus(2),
carry_modulus: CarryModulus(2),
};
pub const PARAM_4_BITS_5_BLOCKS: Parameters = Parameters {
lwe_dimension: LweDimension(667),
glwe_dimension: GlweDimension(2),
polynomial_size: PolynomialSize(1024),
lwe_modular_std_dev: StandardDev(0.0000000004168323308734758),
glwe_modular_std_dev: StandardDev(0.00000000000000000000000000000004905643852600863),
pbs_base_log: DecompositionBaseLog(7),
pbs_level: DecompositionLevelCount(6),
ks_base_log: DecompositionBaseLog(1),
ks_level: DecompositionLevelCount(14),
pfks_level: DecompositionLevelCount(6),
pfks_base_log: DecompositionBaseLog(7),
pfks_modular_std_dev: StandardDev(0.00000000000000000000000000000004905643852600863),
cbs_level: DecompositionLevelCount(7),
cbs_base_log: DecompositionBaseLog(4),
message_modulus: MessageModulus(16),
carry_modulus: CarryModulus(1),
};