pub enum ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,{
Classic {
bsk: SeededLweBootstrapKeyOwned<u64>,
modulus_switch_noise_reduction_key: CompressedModulusSwitchConfiguration<InputScalar>,
},
MultiBit {
seeded_bsk: SeededLweMultiBitBootstrapKeyOwned<u64>,
deterministic_execution: bool,
},
}Variants§
Classic
Fields
§
modulus_switch_noise_reduction_key: CompressedModulusSwitchConfiguration<InputScalar>MultiBit
Implementations§
Source§impl<InputScalar> ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
impl<InputScalar> ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
pub fn input_lwe_dimension(&self) -> LweDimension
pub fn polynomial_size(&self) -> PolynomialSize
pub fn glwe_size(&self) -> GlweSize
pub fn decomposition_base_log(&self) -> DecompositionBaseLog
pub fn decomposition_level_count(&self) -> DecompositionLevelCount
pub fn output_lwe_dimension(&self) -> LweDimension
pub fn ciphertext_modulus(&self) -> CiphertextModulus
pub fn bootstrapping_key_size_elements(&self) -> usize
pub fn bootstrapping_key_size_bytes(&self) -> usize
Source§impl<InputScalar: UnsignedTorus> ShortintCompressedBootstrappingKey<InputScalar>
impl<InputScalar: UnsignedTorus> ShortintCompressedBootstrappingKey<InputScalar>
Sourcepub fn expand(&self) -> ShortintExpandedBootstrappingKey<u64, InputScalar>
pub fn expand(&self) -> ShortintExpandedBootstrappingKey<u64, InputScalar>
Expand the compressed bootstrapping key to the standard (non-Fourier) domain.
pub fn decompress(&self) -> ShortintBootstrappingKey<InputScalar>
Trait Implementations§
Source§impl<InputScalar> Clone for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Clone,
impl<InputScalar> Clone for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Clone,
Source§fn clone(&self) -> ShortintCompressedBootstrappingKey<InputScalar>
fn clone(&self) -> ShortintCompressedBootstrappingKey<InputScalar>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<InputScalar> Debug for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Debug,
impl<InputScalar> Debug for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Debug,
Source§impl<InputScalar: UnsignedInteger> Deprecable for ShortintCompressedBootstrappingKey<InputScalar>
impl<InputScalar: UnsignedInteger> Deprecable for ShortintCompressedBootstrappingKey<InputScalar>
Source§impl<'de, InputScalar> Deserialize<'de> for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Deserialize<'de>,
impl<'de, InputScalar> Deserialize<'de> for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<InputScalar> ParameterSetConformant for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
impl<InputScalar> ParameterSetConformant for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
type ParameterSet = PBSConformanceParams
fn is_conformant(&self, parameter_set: &Self::ParameterSet) -> bool
Source§impl<InputScalar> PartialEq for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + PartialEq,
impl<InputScalar> PartialEq for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + PartialEq,
Source§fn eq(&self, other: &ShortintCompressedBootstrappingKey<InputScalar>) -> bool
fn eq(&self, other: &ShortintCompressedBootstrappingKey<InputScalar>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<InputScalar> Serialize for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Serialize,
impl<InputScalar> Serialize for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger + Serialize,
Source§impl<InputScalar> Unversionize for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
impl<InputScalar> Unversionize for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
Source§fn unversionize(
versioned: Self::VersionedOwned,
) -> Result<Self, UnversionizeError>
fn unversionize( versioned: Self::VersionedOwned, ) -> Result<Self, UnversionizeError>
Creates an object from a versioned enum, and eventually upgrades from previous
variants.
Source§impl<InputScalar> UnversionizeVec for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
impl<InputScalar> UnversionizeVec for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
fn unversionize_vec( versioned: Self::VersionedVec, ) -> Result<Vec<Self>, UnversionizeError>
Source§impl<InputScalar: UnsignedInteger> Upgrade<ShortintCompressedBootstrappingKey<InputScalar>> for ShortintCompressedBootstrappingKeyV2<InputScalar>
impl<InputScalar: UnsignedInteger> Upgrade<ShortintCompressedBootstrappingKey<InputScalar>> for ShortintCompressedBootstrappingKeyV2<InputScalar>
type Error = Infallible
fn upgrade( self, ) -> Result<ShortintCompressedBootstrappingKey<InputScalar>, Self::Error>
Source§impl<InputScalar> Version for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
SeededLweBootstrapKeyOwned<u64>: VersionizeOwned + Unversionize + Versionize,
CompressedModulusSwitchConfiguration<InputScalar>: VersionizeOwned + Unversionize + Versionize,
SeededLweMultiBitBootstrapKeyOwned<u64>: VersionizeOwned + Unversionize + Versionize,
bool: VersionizeOwned + Unversionize + Versionize,
impl<InputScalar> Version for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
SeededLweBootstrapKeyOwned<u64>: VersionizeOwned + Unversionize + Versionize,
CompressedModulusSwitchConfiguration<InputScalar>: VersionizeOwned + Unversionize + Versionize,
SeededLweMultiBitBootstrapKeyOwned<u64>: VersionizeOwned + Unversionize + Versionize,
bool: VersionizeOwned + Unversionize + Versionize,
Source§impl<InputScalar> Versionize for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
impl<InputScalar> Versionize for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
Source§type Versioned<'vers> = <ShortintCompressedBootstrappingKeyVersions<InputScalar> as VersionsDispatch<ShortintCompressedBootstrappingKey<InputScalar>>>::Ref<'vers>
where
InputScalar: UnsignedInteger + 'vers
type Versioned<'vers> = <ShortintCompressedBootstrappingKeyVersions<InputScalar> as VersionsDispatch<ShortintCompressedBootstrappingKey<InputScalar>>>::Ref<'vers> where InputScalar: UnsignedInteger + 'vers
The equivalent versioned type. It should have a variant for each version.
It may own the underlying data or only hold a read-only reference to it.
Source§fn versionize(&self) -> Self::Versioned<'_>
fn versionize(&self) -> Self::Versioned<'_>
Wraps the object into a versioned enum with a variant for each version. This will
use references on the underlying types if possible.
Source§impl<InputScalar> VersionizeOwned for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
impl<InputScalar> VersionizeOwned for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
type VersionedOwned = <ShortintCompressedBootstrappingKeyVersions<InputScalar> as VersionsDispatch<ShortintCompressedBootstrappingKey<InputScalar>>>::Owned where InputScalar: UnsignedInteger
Source§fn versionize_owned(self) -> Self::VersionedOwned
fn versionize_owned(self) -> Self::VersionedOwned
Wraps the object into a versioned enum with a variant for each version. This will
clone the underlying types.
Source§impl<InputScalar> VersionizeSlice for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
impl<InputScalar> VersionizeSlice for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
type VersionedSlice<'vers> = Vec<<ShortintCompressedBootstrappingKey<InputScalar> as Versionize>::Versioned<'vers>> where InputScalar: UnsignedInteger + 'vers
fn versionize_slice(slice: &[Self]) -> Self::VersionedSlice<'_>
Source§impl<InputScalar> VersionizeVec for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
impl<InputScalar> VersionizeVec for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
ShortintCompressedBootstrappingKeyVersions<InputScalar>: VersionsDispatch<Self>,
type VersionedVec = Vec<<ShortintCompressedBootstrappingKey<InputScalar> as VersionizeOwned>::VersionedOwned> where InputScalar: UnsignedInteger
fn versionize_vec(vec: Vec<Self>) -> Self::VersionedVec
Source§impl<InputScalar> VersionsDispatch<ShortintCompressedBootstrappingKey<InputScalar>> for ShortintCompressedBootstrappingKeyVersions<InputScalar>where
InputScalar: UnsignedInteger,
Deprecated<ShortintCompressedBootstrappingKey<InputScalar>>: Version + Upgrade<ShortintCompressedBootstrappingKeyV1>,
ShortintCompressedBootstrappingKeyV1: Version + Upgrade<ShortintCompressedBootstrappingKeyV2<InputScalar>>,
ShortintCompressedBootstrappingKeyV2<InputScalar>: Version + Upgrade<ShortintCompressedBootstrappingKey<InputScalar>>,
ShortintCompressedBootstrappingKey<InputScalar>: Version,
impl<InputScalar> VersionsDispatch<ShortintCompressedBootstrappingKey<InputScalar>> for ShortintCompressedBootstrappingKeyVersions<InputScalar>where
InputScalar: UnsignedInteger,
Deprecated<ShortintCompressedBootstrappingKey<InputScalar>>: Version + Upgrade<ShortintCompressedBootstrappingKeyV1>,
ShortintCompressedBootstrappingKeyV1: Version + Upgrade<ShortintCompressedBootstrappingKeyV2<InputScalar>>,
ShortintCompressedBootstrappingKeyV2<InputScalar>: Version + Upgrade<ShortintCompressedBootstrappingKey<InputScalar>>,
ShortintCompressedBootstrappingKey<InputScalar>: Version,
impl<InputScalar> StructuralPartialEq for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnsignedInteger,
Auto Trait Implementations§
impl<InputScalar> Freeze for ShortintCompressedBootstrappingKey<InputScalar>
impl<InputScalar> RefUnwindSafe for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: RefUnwindSafe,
impl<InputScalar> Send for ShortintCompressedBootstrappingKey<InputScalar>
impl<InputScalar> Sync for ShortintCompressedBootstrappingKey<InputScalar>
impl<InputScalar> Unpin for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: Unpin,
impl<InputScalar> UnwindSafe for ShortintCompressedBootstrappingKey<InputScalar>where
InputScalar: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more