Function concrete_core::crypto::cross::cmux [−][src]
pub fn cmux<RlweCont0, RlweCont1, RgswCont, FftCont1, FftCont2, FftCont3, Scalar>(
fft: &mut Fft,
dec_i_fft: &mut FourierPolynomial<FftCont1>,
tmp_dec_i_fft: &mut FourierPolynomial<FftCont2>,
res_fft: &mut [FourierPolynomial<FftCont3>],
glwe_0: &mut GlweCiphertext<RlweCont0>,
glwe_1: &mut GlweCiphertext<RlweCont1>,
ggsw: &GgswCiphertext<RgswCont>
) where
GgswCiphertext<RgswCont>: AsRefTensor<Element = Complex64>,
FourierPolynomial<FftCont1>: AsMutTensor<Element = Complex64>,
FourierPolynomial<FftCont2>: AsMutTensor<Element = Complex64>,
FourierPolynomial<FftCont3>: AsMutTensor<Element = Complex64>,
GlweCiphertext<RlweCont0>: AsMutTensor<Element = Scalar>,
GlweCiphertext<RlweCont1>: AsMutTensor<Element = Scalar>,
Scalar: UnsignedTorus,
Executes the CMUX operations of two GLWE ciphertexts conditioned on a GGSW ciphertext
Note
The result is stored in the glwe_0
ciphertext.