Getters for blocks

This commit is contained in:
Rasoul Akhavan Mahdavi
2025-10-27 19:40:30 -04:00
parent 9d8ba8a239
commit 4afdbf4b89
3 changed files with 12 additions and 2 deletions

View File

@@ -178,8 +178,6 @@ where
let res: &mut GLWESecret<&mut [u8]> = &mut res.to_mut();
let a: &GLWESecret<&[u8]> = &a.to_ref();
println!("res.rank: {} a.rank: {}", res.rank(), a.rank());
assert_eq!(res.rank(), GLWESecretTensor::pairs(a.rank().into()) as u32);
assert_eq!(res.n(), self.n() as u32);
assert_eq!(a.n(), self.n() as u32);

View File

@@ -19,6 +19,12 @@ pub struct FheUintBlocks<D: Data, T: UnsignedInteger> {
pub(crate) _phantom: PhantomData<T>,
}
impl<D: DataRef, T: UnsignedInteger> FheUintBlocks<D, T> {
pub fn blocks(&self) -> &Vec<GLWE<D>> {
&self.blocks
}
}
impl<D: DataRef, T: UnsignedInteger> LWEInfos for FheUintBlocks<D, T> {
fn base2k(&self) -> poulpy_core::layouts::Base2K {
self.blocks[0].base2k()

View File

@@ -24,6 +24,12 @@ pub struct FheUintBlocksPrepared<D: Data, T: UnsignedInteger, B: Backend> {
pub(crate) _phantom: PhantomData<T>,
}
impl<D: Data, T: UnsignedInteger, B: Backend> FheUintBlocksPrepared<D, T, B> {
pub fn blocks(&self) -> &Vec<GGSWPrepared<D, B>> {
&self.blocks
}
}
impl<T: UnsignedInteger, BE: Backend> FheUintBlocksPreparedFactory<T, BE> for Module<BE> where
Self: Sized + GGSWPreparedFactory<BE>
{