use crate::commons::math::random::CompressionSeed;
use crate::prelude::{
DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweDimension, PolynomialSize,
};
use crate::specification::entities::markers::LweSeededBootstrapKeyKind;
use crate::specification::entities::AbstractEntity;
pub trait LweSeededBootstrapKeyEntity: AbstractEntity<Kind = LweSeededBootstrapKeyKind> {
fn glwe_dimension(&self) -> GlweDimension;
fn polynomial_size(&self) -> PolynomialSize;
fn input_lwe_dimension(&self) -> LweDimension;
fn output_lwe_dimension(&self) -> LweDimension {
LweDimension(self.glwe_dimension().0 * self.polynomial_size().0)
}
fn decomposition_base_log(&self) -> DecompositionBaseLog;
fn decomposition_level_count(&self) -> DecompositionLevelCount;
fn compression_seed(&self) -> CompressionSeed;
}