pub trait LweBootstrapKeyCreationEngine<Container, BootstrapKey>: AbstractEnginewhere
BootstrapKey: LweBootstrapKeyEntity,{
fn create_lwe_bootstrap_key_from(
&mut self,
container: Container,
glwe_size: GlweSize,
poly_size: PolynomialSize,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> Result<BootstrapKey, LweBootstrapKeyCreationError<Self::EngineError>>;
unsafe fn create_lwe_bootstrap_key_from_unchecked(
&mut self,
container: Container,
glwe_size: GlweSize,
poly_size: PolynomialSize,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> BootstrapKey;
}
Expand description
A trait for engines creating LWE bootstrap keys from existing containers.
Semantics
This pure operation constructs an LWE bootstrap key from the given
container
.
Formal Definition
cf here
Required Methods
sourcefn create_lwe_bootstrap_key_from(
&mut self,
container: Container,
glwe_size: GlweSize,
poly_size: PolynomialSize,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> Result<BootstrapKey, LweBootstrapKeyCreationError<Self::EngineError>>
fn create_lwe_bootstrap_key_from(
&mut self,
container: Container,
glwe_size: GlweSize,
poly_size: PolynomialSize,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> Result<BootstrapKey, LweBootstrapKeyCreationError<Self::EngineError>>
Creates an LWE bootstrap key from an existing container.
sourceunsafe fn create_lwe_bootstrap_key_from_unchecked(
&mut self,
container: Container,
glwe_size: GlweSize,
poly_size: PolynomialSize,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> BootstrapKey
unsafe fn create_lwe_bootstrap_key_from_unchecked(
&mut self,
container: Container,
glwe_size: GlweSize,
poly_size: PolynomialSize,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> BootstrapKey
Unsafely creates an LWE bootstrap key from an existing container.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweBootstrapKeyCreationError
. For safety concerns specific to an engine, refer
to the implementer safety section.