diff --git a/backends/concrete-cpu/src/c_api/bootstrap.rs b/backends/concrete-cpu/src/c_api/bootstrap.rs index 4cb124350..db45f2c56 100644 --- a/backends/concrete-cpu/src/c_api/bootstrap.rs +++ b/backends/concrete-cpu/src/c_api/bootstrap.rs @@ -1,14 +1,11 @@ -use crate::{ - c_api::types::{Parallelism, ScratchStatus}, - implementation::{fft::Fft, types::*}, -}; +use crate::c_api::types::{Parallelism, ScratchStatus}; +use crate::implementation::fft::Fft; +use crate::implementation::types::*; use core::slice; use dyn_stack::DynStack; -use super::{ - types::{Csprng, CsprngVtable}, - utils::nounwind, -}; +use super::types::{Csprng, CsprngVtable}; +use super::utils::nounwind; #[no_mangle] pub unsafe extern "C" fn concrete_cpu_init_lwe_bootstrap_key_u64( diff --git a/backends/concrete-cpu/src/c_api/csprng.rs b/backends/concrete-cpu/src/c_api/csprng.rs index e86c2c65a..1f4add847 100644 --- a/backends/concrete-cpu/src/c_api/csprng.rs +++ b/backends/concrete-cpu/src/c_api/csprng.rs @@ -1,10 +1,8 @@ use std::io::Read; use super::types::{Csprng, CsprngVtable, Uint128}; -use concrete_csprng::{ - generators::{RandomGenerator, SoftwareRandomGenerator}, - seeders::Seed, -}; +use concrete_csprng::generators::{RandomGenerator, SoftwareRandomGenerator}; +use concrete_csprng::seeders::Seed; use libc::c_int; type Generator = SoftwareRandomGenerator; diff --git a/backends/concrete-cpu/src/c_api/keyswitch.rs b/backends/concrete-cpu/src/c_api/keyswitch.rs index 91a2b4bbd..f6ae300f6 100644 --- a/backends/concrete-cpu/src/c_api/keyswitch.rs +++ b/backends/concrete-cpu/src/c_api/keyswitch.rs @@ -1,7 +1,5 @@ -use super::{ - types::{Csprng, CsprngVtable}, - utils::nounwind, -}; +use super::types::{Csprng, CsprngVtable}; +use super::utils::nounwind; use crate::implementation::types::*; #[no_mangle] diff --git a/backends/concrete-cpu/src/c_api/secret_key.rs b/backends/concrete-cpu/src/c_api/secret_key.rs index a8fd2b04f..cabab5ba9 100644 --- a/backends/concrete-cpu/src/c_api/secret_key.rs +++ b/backends/concrete-cpu/src/c_api/secret_key.rs @@ -1,7 +1,5 @@ -use super::{ - types::{Csprng, CsprngVtable}, - utils::nounwind, -}; +use super::types::{Csprng, CsprngVtable}; +use super::utils::nounwind; use crate::implementation::types::{ CsprngMut, DecompParams, GgswCiphertext, GlweCiphertext, GlweParams, GlweSecretKey, LweCiphertext, LweSecretKey, diff --git a/backends/concrete-cpu/src/c_api/types.rs b/backends/concrete-cpu/src/c_api/types.rs index 4ee579f2e..747ef79f6 100644 --- a/backends/concrete-cpu/src/c_api/types.rs +++ b/backends/concrete-cpu/src/c_api/types.rs @@ -44,7 +44,8 @@ pub enum Parallelism { #[cfg(test)] pub mod tests { use super::*; - use crate::{c_api::csprng::CONCRETE_CSPRNG_VTABLE, implementation::types::CsprngMut}; + use crate::c_api::csprng::CONCRETE_CSPRNG_VTABLE; + use crate::implementation::types::CsprngMut; use concrete_csprng::generators::SoftwareRandomGenerator; pub fn to_generic(a: &mut SoftwareRandomGenerator) -> CsprngMut<'_, '_> { diff --git a/backends/concrete-cpu/src/c_api/wop_pbs.rs b/backends/concrete-cpu/src/c_api/wop_pbs.rs index bd0e01cc9..92c12254e 100644 --- a/backends/concrete-cpu/src/c_api/wop_pbs.rs +++ b/backends/concrete-cpu/src/c_api/wop_pbs.rs @@ -1,17 +1,13 @@ -use crate::{ - c_api::{types::*, utils::nounwind}, - implementation::{ - fft::Fft, - types::{ - ciphertext_list::LweCiphertextList, - packing_keyswitch_key_list::PackingKeyswitchKeyList, polynomial_list::PolynomialList, - *, - }, - wop::{ - circuit_bootstrap_boolean_vertical_packing, - circuit_bootstrap_boolean_vertical_packing_scratch, extract_bits, extract_bits_scratch, - }, - }, +use crate::c_api::types::*; +use crate::c_api::utils::nounwind; +use crate::implementation::fft::Fft; +use crate::implementation::types::ciphertext_list::LweCiphertextList; +use crate::implementation::types::packing_keyswitch_key_list::PackingKeyswitchKeyList; +use crate::implementation::types::polynomial_list::PolynomialList; +use crate::implementation::types::*; +use crate::implementation::wop::{ + circuit_bootstrap_boolean_vertical_packing, circuit_bootstrap_boolean_vertical_packing_scratch, + extract_bits, extract_bits_scratch, }; use core::slice; use dyn_stack::DynStack; diff --git a/backends/concrete-cpu/src/implementation/bootstrap.rs b/backends/concrete-cpu/src/implementation/bootstrap.rs index 18d38b490..6858abf9f 100644 --- a/backends/concrete-cpu/src/implementation/bootstrap.rs +++ b/backends/concrete-cpu/src/implementation/bootstrap.rs @@ -2,13 +2,13 @@ use crate::implementation::cmux::cmux_scratch; use aligned_vec::CACHELINE_ALIGN; use dyn_stack::*; -use super::{ - cmux::cmux, - fft::FftView, - polynomial::{update_with_wrapping_monic_monomial_mul, update_with_wrapping_unit_monomial_div}, - types::*, - zip_eq, Split, +use super::cmux::cmux; +use super::fft::FftView; +use super::polynomial::{ + update_with_wrapping_monic_monomial_mul, update_with_wrapping_unit_monomial_div, }; +use super::types::*; +use super::{zip_eq, Split}; impl<'a> BootstrapKey<&'a [f64]> { pub fn blind_rotate_scratch( @@ -136,17 +136,11 @@ pub fn pbs_modulus_switch( mod tests { use std::mem::MaybeUninit; - use crate::{ - c_api::types::tests::to_generic, - implementation::{ - fft::{Fft, FftView}, - types::*, - }, - }; - use concrete_csprng::{ - generators::{RandomGenerator, SoftwareRandomGenerator}, - seeders::Seed, - }; + use crate::c_api::types::tests::to_generic; + use crate::implementation::fft::{Fft, FftView}; + use crate::implementation::types::*; + use concrete_csprng::generators::{RandomGenerator, SoftwareRandomGenerator}; + use concrete_csprng::seeders::Seed; use dyn_stack::DynStack; struct KeySet { diff --git a/backends/concrete-cpu/src/implementation/ciphertext.rs b/backends/concrete-cpu/src/implementation/ciphertext.rs index 14754bdc8..d076da2d5 100644 --- a/backends/concrete-cpu/src/implementation/ciphertext.rs +++ b/backends/concrete-cpu/src/implementation/ciphertext.rs @@ -1,4 +1,5 @@ -use super::{types::*, Split}; +use super::types::*; +use super::Split; impl<'a> GlweCiphertext<&'a [u64]> { pub fn fill_lwe_with_sample_extraction(self, lwe: LweCiphertext<&mut [u64]>, n_th: usize) { diff --git a/backends/concrete-cpu/src/implementation/cmux.rs b/backends/concrete-cpu/src/implementation/cmux.rs index f14e00b1f..0e352863b 100644 --- a/backends/concrete-cpu/src/implementation/cmux.rs +++ b/backends/concrete-cpu/src/implementation/cmux.rs @@ -1,4 +1,7 @@ -use super::{external_product::external_product, fft::FftView, types::*, zip_eq}; +use super::external_product::external_product; +use super::fft::FftView; +use super::types::*; +use super::zip_eq; use crate::implementation::external_product::external_product_scratch; use dyn_stack::{DynStack, SizeOverflow, StackReq}; diff --git a/backends/concrete-cpu/src/implementation/convert/mod.rs b/backends/concrete-cpu/src/implementation/convert/mod.rs index 7666497d2..b17206d37 100644 --- a/backends/concrete-cpu/src/implementation/convert/mod.rs +++ b/backends/concrete-cpu/src/implementation/convert/mod.rs @@ -1,9 +1,7 @@ use crate::implementation::{assume_init_mut, from_torus}; -use super::{ - as_mut_uninit, - fft::{FftView, Twisties}, -}; +use super::as_mut_uninit; +use super::fft::{FftView, Twisties}; use bytemuck::cast_slice_mut; use concrete_fft::c64; use core::mem::MaybeUninit; diff --git a/backends/concrete-cpu/src/implementation/decomposer.rs b/backends/concrete-cpu/src/implementation/decomposer.rs index f380b4fe3..383b460ae 100644 --- a/backends/concrete-cpu/src/implementation/decomposer.rs +++ b/backends/concrete-cpu/src/implementation/decomposer.rs @@ -1,4 +1,5 @@ -use super::{decomposition::SignedDecompositionIter, types::DecompParams}; +use super::decomposition::SignedDecompositionIter; +use super::types::DecompParams; #[derive(Copy, Clone, Debug)] #[readonly::make] diff --git a/backends/concrete-cpu/src/implementation/decomposition.rs b/backends/concrete-cpu/src/implementation/decomposition.rs index f309c0a8f..5089dbb99 100644 --- a/backends/concrete-cpu/src/implementation/decomposition.rs +++ b/backends/concrete-cpu/src/implementation/decomposition.rs @@ -1,4 +1,5 @@ -use core::{iter::Map, slice::IterMut}; +use core::iter::Map; +use core::slice::IterMut; use dyn_stack::{DynArray, DynStack}; use super::types::DecompParams; diff --git a/backends/concrete-cpu/src/implementation/encrypt/mod.rs b/backends/concrete-cpu/src/implementation/encrypt/mod.rs index 9ba58e024..e2eec97ce 100644 --- a/backends/concrete-cpu/src/implementation/encrypt/mod.rs +++ b/backends/concrete-cpu/src/implementation/encrypt/mod.rs @@ -1,16 +1,11 @@ -use super::{ - decomposition::DecompositionTerm, - fpks::LweKeyBitDecomposition, - from_torus, - polynomial::{update_with_wrapping_add_mul, update_with_wrapping_sub_mul}, - types::*, - zip_eq, -}; +use super::decomposition::DecompositionTerm; +use super::fpks::LweKeyBitDecomposition; +use super::polynomial::{update_with_wrapping_add_mul, update_with_wrapping_sub_mul}; +use super::types::*; +use super::{from_torus, zip_eq}; use core::slice; -use rayon::{ - prelude::{IndexedParallelIterator, ParallelIterator}, - slice::ParallelSliceMut, -}; +use rayon::prelude::{IndexedParallelIterator, ParallelIterator}; +use rayon::slice::ParallelSliceMut; use std::cmp::Ordering; pub fn mask_bytes_per_coef() -> usize { @@ -655,14 +650,10 @@ impl LweSecretKey<&[u64]> { #[cfg(test)] mod tests { - use crate::{ - c_api::types::tests::to_generic, - implementation::types::{CsprngMut, LweCiphertext, LweSecretKey}, - }; - use concrete_csprng::{ - generators::{RandomGenerator, SoftwareRandomGenerator}, - seeders::Seed, - }; + use crate::c_api::types::tests::to_generic; + use crate::implementation::types::{CsprngMut, LweCiphertext, LweSecretKey}; + use concrete_csprng::generators::{RandomGenerator, SoftwareRandomGenerator}; + use concrete_csprng::seeders::Seed; fn encrypt_decrypt( mut csprng: CsprngMut, diff --git a/backends/concrete-cpu/src/implementation/external_product.rs b/backends/concrete-cpu/src/implementation/external_product.rs index f456e8dea..59246cb4e 100644 --- a/backends/concrete-cpu/src/implementation/external_product.rs +++ b/backends/concrete-cpu/src/implementation/external_product.rs @@ -5,12 +5,13 @@ use concrete_fft::c64; use dyn_stack::{DynArray, DynStack, ReborrowMut, SizeOverflow, StackReq}; use pulp::{as_arrays, as_arrays_mut}; -use crate::implementation::{ - assume_init_mut, decomposer::SignedDecomposer, - decomposition::TensorSignedDecompositionLendingIter, Split, -}; +use crate::implementation::decomposer::SignedDecomposer; +use crate::implementation::decomposition::TensorSignedDecompositionLendingIter; +use crate::implementation::{assume_init_mut, Split}; -use super::{as_mut_uninit, fft::FftView, types::*, zip_eq}; +use super::fft::FftView; +use super::types::*; +use super::{as_mut_uninit, zip_eq}; impl GgswCiphertext<&mut [f64]> { pub fn fill_with_forward_fourier( diff --git a/backends/concrete-cpu/src/implementation/fft.rs b/backends/concrete-cpu/src/implementation/fft.rs index bc294ef79..39e7ab9c2 100644 --- a/backends/concrete-cpu/src/implementation/fft.rs +++ b/backends/concrete-cpu/src/implementation/fft.rs @@ -82,10 +82,9 @@ mod std_only { use concrete_fft::unordered::Method; use core::time::Duration; use once_cell::sync::OnceCell; - use std::{ - collections::{hash_map::Entry, HashMap}, - sync::RwLock, - }; + use std::collections::hash_map::Entry; + use std::collections::HashMap; + use std::sync::RwLock; type PlanMap = RwLock>, Plan)>>>>>; static PLANS: OnceCell = OnceCell::new(); @@ -132,7 +131,8 @@ mod std_only { #[cfg(not(feature = "std"))] mod no_std { - use concrete_fft::{ordered::FftAlgo, unordered::Method}; + use concrete_fft::ordered::FftAlgo; + use concrete_fft::unordered::Method; use super::*; diff --git a/backends/concrete-cpu/src/implementation/fpks.rs b/backends/concrete-cpu/src/implementation/fpks.rs index 9a386e848..0727a8a0f 100644 --- a/backends/concrete-cpu/src/implementation/fpks.rs +++ b/backends/concrete-cpu/src/implementation/fpks.rs @@ -1,9 +1,7 @@ -use super::{ - decomposer::SignedDecomposer, - types::{GlweCiphertext, GlweParams, LweCiphertext, PackingKeyswitchKey}, - wop::GlweCiphertextList, - zip_eq, Container, -}; +use super::decomposer::SignedDecomposer; +use super::types::{GlweCiphertext, GlweParams, LweCiphertext, PackingKeyswitchKey}; +use super::wop::GlweCiphertextList; +use super::{zip_eq, Container}; impl PackingKeyswitchKey<&[u64]> { pub fn private_functional_keyswitch_ciphertext( diff --git a/backends/concrete-cpu/src/implementation/keyswitch.rs b/backends/concrete-cpu/src/implementation/keyswitch.rs index 692928c35..bba39ecd5 100644 --- a/backends/concrete-cpu/src/implementation/keyswitch.rs +++ b/backends/concrete-cpu/src/implementation/keyswitch.rs @@ -1,4 +1,6 @@ -use super::{decomposer::SignedDecomposer, types::*, zip_eq}; +use super::decomposer::SignedDecomposer; +use super::types::*; +use super::zip_eq; impl LweKeyswitchKey<&[u64]> { pub fn keyswitch_ciphertext( @@ -40,11 +42,10 @@ impl LweKeyswitchKey<&[u64]> { #[cfg(test)] mod tests { - use crate::{c_api::types::tests::to_generic, implementation::types::*}; - use concrete_csprng::{ - generators::{RandomGenerator, SoftwareRandomGenerator}, - seeders::Seed, - }; + use crate::c_api::types::tests::to_generic; + use crate::implementation::types::*; + use concrete_csprng::generators::{RandomGenerator, SoftwareRandomGenerator}; + use concrete_csprng::seeders::Seed; struct KeySet { in_dim: usize, diff --git a/backends/concrete-cpu/src/implementation/types/bootstrap_key.rs b/backends/concrete-cpu/src/implementation/types/bootstrap_key.rs index 96d17feae..82078d8ef 100644 --- a/backends/concrete-cpu/src/implementation/types/bootstrap_key.rs +++ b/backends/concrete-cpu/src/implementation/types/bootstrap_key.rs @@ -1,5 +1,6 @@ use super::{DecompParams, GgswCiphertext, GlweParams}; -use crate::implementation::{fft::FftView, zip_eq, Container, ContainerMut, Split}; +use crate::implementation::fft::FftView; +use crate::implementation::{zip_eq, Container, ContainerMut, Split}; use dyn_stack::{DynStack, ReborrowMut}; #[cfg(feature = "parallel")] use rayon::{ diff --git a/backends/concrete-cpu/src/implementation/wop.rs b/backends/concrete-cpu/src/implementation/wop.rs index 145e60213..a34b70bbd 100644 --- a/backends/concrete-cpu/src/implementation/wop.rs +++ b/backends/concrete-cpu/src/implementation/wop.rs @@ -5,20 +5,21 @@ use std::cmp::Ordering; use aligned_vec::CACHELINE_ALIGN; use dyn_stack::{DynStack, ReborrowMut, SizeOverflow, StackReq}; -use crate::implementation::{external_product::external_product, types::GlweCiphertext, zip_eq}; +use crate::implementation::external_product::external_product; +use crate::implementation::types::GlweCiphertext; +use crate::implementation::zip_eq; -use super::{ - cmux::{cmux, cmux_scratch}, - external_product::external_product_scratch, - fft::FftView, - polynomial::update_with_wrapping_unit_monomial_div, - types::{ - ciphertext_list::LweCiphertextList, packing_keyswitch_key_list::PackingKeyswitchKeyList, - polynomial_list::PolynomialList, BootstrapKey, DecompParams, GgswCiphertext, GlweParams, - LweCiphertext, LweKeyswitchKey, - }, - Container, Split, +use super::cmux::{cmux, cmux_scratch}; +use super::external_product::external_product_scratch; +use super::fft::FftView; +use super::polynomial::update_with_wrapping_unit_monomial_div; +use super::types::ciphertext_list::LweCiphertextList; +use super::types::packing_keyswitch_key_list::PackingKeyswitchKeyList; +use super::types::polynomial_list::PolynomialList; +use super::types::{ + BootstrapKey, DecompParams, GgswCiphertext, GlweParams, LweCiphertext, LweKeyswitchKey, }; +use super::{Container, Split}; pub fn extract_bits_scratch( lwe_dimension: usize,