LweBootstrapKeyConversionEngine

Trait LweBootstrapKeyConversionEngine 

Source
pub trait LweBootstrapKeyConversionEngine<InputKey, OutputKey>: AbstractEngine
where InputKey: LweBootstrapKeyEntity, OutputKey: LweBootstrapKeyEntity,
{ // Required methods fn convert_lwe_bootstrap_key( &mut self, input: &InputKey, ) -> Result<OutputKey, LweBootstrapKeyConversionError<Self::EngineError>>; unsafe fn convert_lwe_bootstrap_key_unchecked( &mut self, input: &InputKey, ) -> OutputKey; }
Expand description

A trait for engines converting LWE bootstrap keys.

§Semantics

This pure operation generates a LWE bootstrap key containing the conversion of the input bootstrap key to a type with a different representation (for instance from cpu to gpu memory).

§Formal Definition

Required Methods§

Source

fn convert_lwe_bootstrap_key( &mut self, input: &InputKey, ) -> Result<OutputKey, LweBootstrapKeyConversionError<Self::EngineError>>

Converts an LWE bootstrap key.

Source

unsafe fn convert_lwe_bootstrap_key_unchecked( &mut self, input: &InputKey, ) -> OutputKey

Unsafely converts an LWE bootstrap key.

§Safety

For the general safety concerns regarding this operation, refer to the different variants of LweBootstrapKeyConversionError. For safety concerns specific to an engine, refer to the implementer safety section.

Implementors§

Source§

impl LweBootstrapKeyConversionEngine<LweBootstrapKey32, FftFourierLweBootstrapKey32> for FftEngine

§Description

Implementation of LweBootstrapKeyConversionEngine for FftEngine that operates on 32 bit integers. It converts a bootstrap key from the standard to the Fourier domain.

Source§

impl LweBootstrapKeyConversionEngine<LweBootstrapKey64, FftFourierLweBootstrapKey64> for FftEngine

§Description

Implementation of LweBootstrapKeyConversionEngine for FftEngine that operates on 64 bit integers. It converts a bootstrap key from the standard to the Fourier domain.

Source§

impl<Key> LweBootstrapKeyConversionEngine<Key, Key> for FftEngine