From 90a25638c248750ece4eb1182fc4f359a085cfd5 Mon Sep 17 00:00:00 2001 From: Pro7ech Date: Thu, 16 Oct 2025 22:41:40 +0200 Subject: [PATCH] fix keyswitching --- poulpy-core/src/conversion/mod.rs | 2 ++ poulpy-core/src/keyswitching/lwe_ct.rs | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/poulpy-core/src/conversion/mod.rs b/poulpy-core/src/conversion/mod.rs index 9771531..8be980a 100644 --- a/poulpy-core/src/conversion/mod.rs +++ b/poulpy-core/src/conversion/mod.rs @@ -3,3 +3,5 @@ mod glwe_to_lwe; mod lwe_to_glwe; pub use gglwe_to_ggsw::*; +pub use glwe_to_lwe::*; +pub use lwe_to_glwe::*; diff --git a/poulpy-core/src/keyswitching/lwe_ct.rs b/poulpy-core/src/keyswitching/lwe_ct.rs index ff9fb5f..7aa5321 100644 --- a/poulpy-core/src/keyswitching/lwe_ct.rs +++ b/poulpy-core/src/keyswitching/lwe_ct.rs @@ -4,7 +4,7 @@ use poulpy_hal::{ }; use crate::{ - ScratchTakeCore, + LWESampleExtract, ScratchTakeCore, keyswitching::glwe_ct::GLWEKeyswitch, layouts::{ GGLWEInfos, GLWE, GLWEAlloc, GLWELayout, LWE, LWEInfos, LWEToMut, LWEToRef, Rank, TorusPrecision, @@ -40,7 +40,7 @@ impl LWEKeySwitch for Module where Self: LWEKeySwitch { pub trait LWEKeySwitch where - Self: GLWEKeyswitch + GLWEAlloc, + Self: GLWEKeyswitch + GLWEAlloc + LWESampleExtract, { fn lwe_keyswitch_tmp_bytes(&self, res_infos: &R, a_infos: &A, key_infos: &K) -> usize where @@ -121,6 +121,6 @@ where } self.glwe_keyswitch(&mut glwe_out, &glwe_in, &ksk.0, scratch_1); - res.sample_extract(&glwe_out); + self.lwe_sample_extract(res, &glwe_out); } }