From ad837c8fa8587e9681cbb993a9781d40faddab3f Mon Sep 17 00:00:00 2001 From: Rasoul Akhavan Mahdavi Date: Wed, 19 Nov 2025 09:38:53 -0500 Subject: [PATCH] get GGSW multibit --- .../bdd_arithmetic/ciphertexts/fhe_uint_prepared.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/poulpy-schemes/src/bin_fhe/bdd_arithmetic/ciphertexts/fhe_uint_prepared.rs b/poulpy-schemes/src/bin_fhe/bdd_arithmetic/ciphertexts/fhe_uint_prepared.rs index 7342223..d3be3e0 100644 --- a/poulpy-schemes/src/bin_fhe/bdd_arithmetic/ciphertexts/fhe_uint_prepared.rs +++ b/poulpy-schemes/src/bin_fhe/bdd_arithmetic/ciphertexts/fhe_uint_prepared.rs @@ -48,6 +48,7 @@ impl GetGGSWBit for FheUintPrep pub trait GetGGSWBitMut { fn get_bit(&mut self, bit: usize) -> GGSWPrepared<&mut [u8], BE>; + fn get_bits(&mut self, start: usize, count: usize) -> Vec>; } impl GetGGSWBitMut for FheUintPrepared { @@ -55,6 +56,13 @@ impl GetGGSWBitMut for FheUi assert!(bit <= self.bits.len()); self.bits[bit].to_mut() } + fn get_bits(&mut self, start: usize, count: usize) -> Vec> { + assert!(start + count <= self.bits.len()); + self.bits[start..start + count] + .iter_mut() + .map(|bit| bit.to_mut()) + .collect() + } } impl BitSize for FheUintPrepared {