feat: add From<MetaParameters> for Config

This convertion is important to make the use
of meta parameters for high level API
users
This commit is contained in:
Thomas Montaigu
2025-10-01 11:08:54 +02:00
committed by Arthur Meyre
parent 18159d6458
commit 0277403c45

View File

@@ -4,7 +4,8 @@ use crate::backward_compatibility::config::ConfigVersions;
use crate::high_level_api::keys::IntegerConfig;
use crate::shortint::parameters::list_compression::CompressionParameters;
use crate::shortint::parameters::{
NoiseSquashingCompressionParameters, NoiseSquashingParameters, ShortintKeySwitchingParameters,
MetaParameters, NoiseSquashingCompressionParameters, NoiseSquashingParameters,
ShortintKeySwitchingParameters,
};
/// The config type
@@ -149,3 +150,26 @@ impl From<ConfigBuilder> for Config {
builder.build()
}
}
impl From<MetaParameters> for Config {
fn from(meta_params: MetaParameters) -> Self {
Self {
inner: IntegerConfig {
block_parameters: meta_params.compute_parameters,
dedicated_compact_public_key_parameters: meta_params
.dedicated_compact_public_key_parameters
.map(|dedicated_p| (dedicated_p.pke_params, dedicated_p.ksk_params)),
compression_parameters: meta_params.compression_parameters,
noise_squashing_parameters: meta_params
.noise_squashing_parameters
.map(|ns_p| ns_p.parameters),
noise_squashing_compression_parameters: meta_params
.noise_squashing_parameters
.and_then(|ns_p| ns_p.compression_parameters),
cpk_re_randomization_ksk_params: meta_params
.dedicated_compact_public_key_parameters
.and_then(|dedicated_pke| dedicated_pke.re_randomization_parameters),
},
}
}
}