#[non_exhaustive]pub enum LweBootstrapKeyCreationError<EngineError: Error> {
NullDecompositionBaseLog,
NullDecompositionLevelCount,
DecompositionTooLarge,
InvalidContainerSize,
Engine(EngineError),
}Expand description
An error used with the LweBootstrapKeyCreationEngine trait.
This type provides a
LweBootstrapKeyCreationError::perform_generic_checks
function that does error checking for the general cases, returning an Ok(())
if the inputs are valid, meaning that engine implementors would then only
need to check for their own specific errors.
Otherwise an Err(..) with the proper error variant is returned.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NullDecompositionBaseLog
Generic error: The key decomposition base log must be greater than zero.
NullDecompositionLevelCount
Generic error: The key decomposition level count must be greater than zero.
DecompositionTooLarge
Generic error: The decomposition precision (base log * level count) must not exceed the precision of the ciphertext.
InvalidContainerSize
Generic error:
The length of the container used to create the LWE bootstrap key needs to be a multiple of decomposition_level_count * glwe_size * glwe_size * poly_size.
Engine(EngineError)
Specific error to the implementing engine.
Implementations§
Source§impl<EngineError: Error> LweBootstrapKeyCreationError<EngineError>
impl<EngineError: Error> LweBootstrapKeyCreationError<EngineError>
pub fn perform_generic_checks( container_length: usize, glwe_size: GlweSize, poly_size: PolynomialSize, decomposition_base_log: DecompositionBaseLog, decomposition_level_count: DecompositionLevelCount, ciphertext_modulus_log: usize, ) -> Result<(), Self>
Trait Implementations§
Source§impl<EngineError: Clone + Error> Clone for LweBootstrapKeyCreationError<EngineError>
impl<EngineError: Clone + Error> Clone for LweBootstrapKeyCreationError<EngineError>
Source§fn clone(&self) -> LweBootstrapKeyCreationError<EngineError>
fn clone(&self) -> LweBootstrapKeyCreationError<EngineError>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<EngineError: Error> Display for LweBootstrapKeyCreationError<EngineError>
impl<EngineError: Error> Display for LweBootstrapKeyCreationError<EngineError>
Source§impl<EngineError: Error> Error for LweBootstrapKeyCreationError<EngineError>
impl<EngineError: Error> Error for LweBootstrapKeyCreationError<EngineError>
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl<EngineError: PartialEq + Error> PartialEq for LweBootstrapKeyCreationError<EngineError>
impl<EngineError: PartialEq + Error> PartialEq for LweBootstrapKeyCreationError<EngineError>
Source§fn eq(&self, other: &LweBootstrapKeyCreationError<EngineError>) -> bool
fn eq(&self, other: &LweBootstrapKeyCreationError<EngineError>) -> bool
self and other values to be equal, and is used by ==.impl<EngineError: Eq + Error> Eq for LweBootstrapKeyCreationError<EngineError>
impl<EngineError: Error> StructuralPartialEq for LweBootstrapKeyCreationError<EngineError>
Auto Trait Implementations§
impl<EngineError> Freeze for LweBootstrapKeyCreationError<EngineError>where
EngineError: Freeze,
impl<EngineError> RefUnwindSafe for LweBootstrapKeyCreationError<EngineError>where
EngineError: RefUnwindSafe,
impl<EngineError> Send for LweBootstrapKeyCreationError<EngineError>where
EngineError: Send,
impl<EngineError> Sync for LweBootstrapKeyCreationError<EngineError>where
EngineError: Sync,
impl<EngineError> Unpin for LweBootstrapKeyCreationError<EngineError>where
EngineError: Unpin,
impl<EngineError> UnwindSafe for LweBootstrapKeyCreationError<EngineError>where
EngineError: 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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