#![allow(deprecated)]
#[cfg(feature = "__commons_serialization")]
use serde::{Deserialize, Serialize};
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct PlaintextCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct EncoderCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct CleartextCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct CiphertextCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LweCiphertextCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LweCiphertextIndex(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LweCiphertextRange(pub usize, pub usize);
impl LweCiphertextRange {
pub fn is_ordered(&self) -> bool {
self.1 <= self.0
}
}
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct GlweCiphertextCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct GswCiphertextCount(pub usize);
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct GgswCiphertextCount(pub usize);
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LweSize(pub usize);
impl LweSize {
pub fn to_lwe_dimension(&self) -> LweDimension {
LweDimension(self.0 - 1)
}
}
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LweDimension(pub usize);
impl LweDimension {
pub fn to_lwe_size(&self) -> LweSize {
LweSize(self.0 + 1)
}
}
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LwePublicKeyZeroEncryptionCount(pub usize);
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct GlweSize(pub usize);
impl GlweSize {
pub fn to_glwe_dimension(&self) -> GlweDimension {
GlweDimension(self.0 - 1)
}
}
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct GlweDimension(pub usize);
impl GlweDimension {
pub fn to_glwe_size(&self) -> GlweSize {
GlweSize(self.0 + 1)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct PolynomialSize(pub usize);
impl PolynomialSize {
pub fn log2(&self) -> PolynomialSizeLog {
PolynomialSizeLog((self.0 as f64).log2().ceil() as usize)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct PolynomialSizeLog(pub usize);
impl PolynomialSizeLog {
pub fn to_polynomial_size(&self) -> PolynomialSize {
PolynomialSize(1 << self.0)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct PolynomialCount(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
#[deprecated(note = "MonomialDegree is not used anymore in the API. You should not use it.")]
pub struct MonomialDegree(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct MonomialIndex(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct DecompositionBaseLog(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct DecompositionLevelCount(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct LutCountLog(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct ModulusSwitchOffset(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct DeltaLog(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct ExtractedBitsCount(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct FunctionalPackingKeyswitchKeyCount(pub usize);
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
#[cfg_attr(feature = "__commons_serialization", derive(Serialize, Deserialize))]
pub struct CiphertextModulusLog(pub usize);