LweCiphertextVectorFusingSubtractionEngine

Trait LweCiphertextVectorFusingSubtractionEngine 

Source
pub trait LweCiphertextVectorFusingSubtractionEngine<InputCiphertextVector, OutputCiphertextVector>: AbstractEngine
where InputCiphertextVector: LweCiphertextVectorEntity, OutputCiphertextVector: LweCiphertextVectorEntity<KeyDistribution = InputCiphertextVector::KeyDistribution>,
{ // Required methods fn fuse_sub_lwe_ciphertext_vector( &mut self, output: &mut OutputCiphertextVector, input: &InputCiphertextVector, ) -> Result<(), LweCiphertextVectorFusingSubtractionError<Self::EngineError>>; unsafe fn fuse_sub_lwe_ciphertext_vector_unchecked( &mut self, output: &mut OutputCiphertextVector, input: &InputCiphertextVector, ); }
Expand description

A trait for engines subtracting (fusing) LWE ciphertexts vectors.

§Semantics

This fusing operation subtracts the input LWE ciphertext vector to the output LWE ciphertext vector.

§Formal Definition

Required Methods§

Source

fn fuse_sub_lwe_ciphertext_vector( &mut self, output: &mut OutputCiphertextVector, input: &InputCiphertextVector, ) -> Result<(), LweCiphertextVectorFusingSubtractionError<Self::EngineError>>

Subtracts two LWE ciphertext vectors.

Source

unsafe fn fuse_sub_lwe_ciphertext_vector_unchecked( &mut self, output: &mut OutputCiphertextVector, input: &InputCiphertextVector, )

Unsafely subtracts two LWE ciphertext vectors.

§Safety

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

Implementors§