pub trait GLWEExternalProduct<BE: Backend>where
Self: Sized + ModuleN + VecZnxDftBytesOf + VmpApplyDftToDftTmpBytes + VecZnxNormalizeTmpBytes + VecZnxDftApply<BE> + VmpApplyDftToDft<BE> + VmpApplyDftToDftAdd<BE> + VecZnxIdftApplyConsume<BE> + VecZnxBigNormalize<BE> + VecZnxNormalize<BE>,{
// Provided methods
fn glwe_external_product_tmp_bytes<R, A, B>(
&self,
res_infos: &R,
a_infos: &A,
b_infos: &B,
) -> usize
where R: GLWEInfos,
A: GLWEInfos,
B: GGSWInfos { ... }
fn glwe_external_product_inplace<R, D>(
&self,
res: &mut R,
a: &D,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
D: GGSWPreparedToRef<BE>,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_external_product<R, A, D>(
&self,
res: &mut R,
lhs: &A,
rhs: &D,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
A: GLWEToRef,
D: GGSWPreparedToRef<BE>,
Scratch<BE>: ScratchTakeCore<BE> { ... }
}Provided Methods§
fn glwe_external_product_tmp_bytes<R, A, B>( &self, res_infos: &R, a_infos: &A, b_infos: &B, ) -> usize
fn glwe_external_product_inplace<R, D>( &self, res: &mut R, a: &D, scratch: &mut Scratch<BE>, )
fn glwe_external_product<R, A, D>( &self, res: &mut R, lhs: &A, rhs: &D, scratch: &mut Scratch<BE>, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.