From 0936cfccd2302bb9a09554467e29717e86f43c8a Mon Sep 17 00:00:00 2001 From: "Mayeul@Zama" Date: Mon, 13 Mar 2023 16:27:37 +0100 Subject: [PATCH] chore(cpu): remove GgswLevelRow container --- .../src/implementation/external_product.rs | 2 +- .../implementation/types/ggsw_ciphertext.rs | 69 +------------------ 2 files changed, 4 insertions(+), 67 deletions(-) diff --git a/backends/concrete-cpu/src/implementation/external_product.rs b/backends/concrete-cpu/src/implementation/external_product.rs index 59246cb4e..510023360 100644 --- a/backends/concrete-cpu/src/implementation/external_product.rs +++ b/backends/concrete-cpu/src/implementation/external_product.rs @@ -394,7 +394,7 @@ unsafe fn update_with_fmadd_scalar( #[cfg_attr(__profiling, inline(never))] unsafe fn update_with_fmadd( output_fft_buffer: &mut [MaybeUninit], - ggsw_row: GgswLevelRow<&[f64]>, + ggsw_row: GlweCiphertext<&[f64]>, fourier: &[f64], is_output_uninit: bool, polynomial_size: usize, diff --git a/backends/concrete-cpu/src/implementation/types/ggsw_ciphertext.rs b/backends/concrete-cpu/src/implementation/types/ggsw_ciphertext.rs index 51f84c7c3..703e7b1c5 100644 --- a/backends/concrete-cpu/src/implementation/types/ggsw_ciphertext.rs +++ b/backends/concrete-cpu/src/implementation/types/ggsw_ciphertext.rs @@ -1,21 +1,12 @@ use crate::implementation::{Container, ContainerMut, Split}; -use super::{DecompParams, GlweParams}; - -#[derive(Copy, Clone, Debug, PartialEq, Eq)] -#[readonly::make] -pub struct GgswLevelRow { - pub data: C, - pub glwe_params: GlweParams, - pub decomposition_level: usize, -} +use super::{DecompParams, GlweCiphertext, GlweParams}; #[derive(Copy, Clone, Debug, PartialEq, Eq)] #[readonly::make] pub struct GgswLevelMatrix { pub data: C, pub glwe_params: GlweParams, - pub decomposition_level: usize, } @@ -27,60 +18,6 @@ pub struct GgswCiphertext { pub decomp_params: DecompParams, } -impl GgswLevelRow { - pub fn data_len(glwe_params: GlweParams) -> usize { - glwe_params.polynomial_size * (glwe_params.dimension + 1) - } - - pub fn new(data: C, glwe_params: GlweParams, decomposition_level: usize) -> Self { - debug_assert_eq!(data.len(), Self::data_len(glwe_params)); - Self { - data, - glwe_params, - decomposition_level, - } - } - - pub unsafe fn from_raw_parts( - data: C::Pointer, - glwe_params: GlweParams, - decomposition_level: usize, - ) -> Self - where - C: Split, - { - let data = C::from_raw_parts(data, Self::data_len(glwe_params)); - Self { - data, - glwe_params, - decomposition_level, - } - } - - pub fn as_view(&self) -> GgswLevelRow<&[C::Item]> { - GgswLevelRow { - data: self.data.as_ref(), - glwe_params: self.glwe_params, - decomposition_level: self.decomposition_level, - } - } - - pub fn as_mut_view(&mut self) -> GgswLevelRow<&mut [C::Item]> - where - C: ContainerMut, - { - GgswLevelRow { - data: self.data.as_mut(), - glwe_params: self.glwe_params, - decomposition_level: self.decomposition_level, - } - } - - pub fn into_data(self) -> C { - self.data - } -} - impl GgswLevelMatrix { pub fn data_len(glwe_params: GlweParams) -> usize { glwe_params.polynomial_size * (glwe_params.dimension + 1) * (glwe_params.dimension + 1) @@ -134,13 +71,13 @@ impl GgswLevelMatrix { self.data } - pub fn into_rows_iter(self) -> impl DoubleEndedIterator> + pub fn into_rows_iter(self) -> impl DoubleEndedIterator> where C: Split, { self.data .split_into(self.glwe_params.dimension + 1) - .map(move |slice| GgswLevelRow::new(slice, self.glwe_params, self.decomposition_level)) + .map(move |slice| GlweCiphertext::new(slice, self.glwe_params)) } }