wip, playing with base2k traits in rlwe crate to ensure inherent compatibility

This commit is contained in:
Jean-Philippe Bossuat
2025-05-06 18:02:00 +02:00
parent fe6f99b9ce
commit 9afe9372bd
3 changed files with 172 additions and 34 deletions

View File

@@ -1,5 +1,5 @@
use base2k::{
Backend, FFT64, Module, Scalar, ScalarAlloc, ScalarZnxDft, ScalarZnxDftOps, ScalarZnxDftToMut, Scratch, VecZnx, VecZnxDft,
Backend, FFT64, Module, Scalar, ScalarAlloc, ScalarZnxDft, ScalarZnxDftOps, ScalarZnxDftToMut, Scratch, VecZnxDft,
VecZnxDftAlloc, VecZnxDftToMut,
};
use sampling::source::Source;
@@ -56,7 +56,7 @@ impl<B: Backend> PublicKey<Vec<u8>, B> {
}
impl<B: Backend, D: VecZnxDftToMut<B>> PublicKey<D, B> {
pub fn generate<S>(&mut self, module: &Module<B>, sk: &SecretKey<ScalarZnxDft<S, B>>)
pub fn generate<S>(&mut self, module: &Module<B>, sk: &SecretKey<ScalarZnxDft<S, B>>, scratch: &mut Scratch)
where
ScalarZnxDft<S, B>: ScalarZnxDftToMut<B>,
{