pub trait LweKeyswitchKeyCreationEngine<Container, KeyswitchKey>: AbstractEnginewhere
KeyswitchKey: LweKeyswitchKeyEntity,{
fn create_lwe_keyswitch_key_from(
&mut self,
container: Container,
output_lwe_dimension: LweDimension,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> Result<KeyswitchKey, LweKeyswitchKeyCreationError<Self::EngineError>>;
unsafe fn create_lwe_keyswitch_key_from_unchecked(
&mut self,
container: Container,
output_lwe_dimension: LweDimension,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> KeyswitchKey;
}
Expand description
A trait for engines creating LWE Keyswitch keys from existing containers.
Semantics
This pure operation constructs an LWE Keyswitch key from the given
container
.
Formal Definition
cf here
Required Methods§
sourcefn create_lwe_keyswitch_key_from(
&mut self,
container: Container,
output_lwe_dimension: LweDimension,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> Result<KeyswitchKey, LweKeyswitchKeyCreationError<Self::EngineError>>
fn create_lwe_keyswitch_key_from(
&mut self,
container: Container,
output_lwe_dimension: LweDimension,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> Result<KeyswitchKey, LweKeyswitchKeyCreationError<Self::EngineError>>
Creates an LWE keyswitch key from an existing container.
sourceunsafe fn create_lwe_keyswitch_key_from_unchecked(
&mut self,
container: Container,
output_lwe_dimension: LweDimension,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> KeyswitchKey
unsafe fn create_lwe_keyswitch_key_from_unchecked(
&mut self,
container: Container,
output_lwe_dimension: LweDimension,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount
) -> KeyswitchKey
Unsafely creates an LWE keyswitch key from an existing container.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweKeyswitchKeyCreationError
. For safety concerns specific to an engine, refer
to the implementer safety section.