use crate::shortint::backward_compatibility::parameters::key_switching::ShortintKeySwitchingParametersVersions;
use crate::shortint::parameters::{
DecompositionBaseLog, DecompositionLevelCount, EncryptionKeyChoice,
};
use serde::{Deserialize, Serialize};
use tfhe_versionable::Versionize;
#[derive(Copy, Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Versionize)]
#[versionize(ShortintKeySwitchingParametersVersions)]
pub struct ShortintKeySwitchingParameters {
pub ks_base_log: DecompositionBaseLog,
pub ks_level: DecompositionLevelCount,
pub destination_key: EncryptionKeyChoice,
}
impl ShortintKeySwitchingParameters {
pub fn new(
ks_base_log: DecompositionBaseLog,
ks_level: DecompositionLevelCount,
destination_key: EncryptionKeyChoice,
) -> Self {
Self {
ks_base_log,
ks_level,
destination_key,
}
}
}