concrete_core/specification/engines/
lwe_ciphertext_plaintext_fusing_addition.rs1use super::engine_error;
2use crate::specification::engines::AbstractEngine;
3use crate::specification::entities::{LweCiphertextEntity, PlaintextEntity};
4
5engine_error! {
6 LweCiphertextPlaintextFusingAdditionError for LweCiphertextPlaintextFusingAdditionEngine @
7}
8
9pub trait LweCiphertextPlaintextFusingAdditionEngine<Ciphertext, Plaintext>:
18 AbstractEngine
19where
20 Plaintext: PlaintextEntity,
21 Ciphertext: LweCiphertextEntity,
22{
23 fn fuse_add_lwe_ciphertext_plaintext(
25 &mut self,
26 output: &mut Ciphertext,
27 input: &Plaintext,
28 ) -> Result<(), LweCiphertextPlaintextFusingAdditionError<Self::EngineError>>;
29
30 unsafe fn fuse_add_lwe_ciphertext_plaintext_unchecked(
37 &mut self,
38 output: &mut Ciphertext,
39 input: &Plaintext,
40 );
41}