make build work with no features
Janmajaya Mall janmajayamall@protonmail.com
Fri, 05 Jul 2024 12:24:34 +0530
7 files changed,
22 insertions(+),
33 deletions(-)
M
src/bool/evaluator.rs
→
src/bool/evaluator.rs
@@ -1642,7 +1642,7 @@
// TODO: check whether parameters support `total_users` let nttop = self.pbs_info().nttop_rlweq(); let rlwe_modop = self.pbs_info().modop_rlweq(); - let ring_size = self.pbs_info().rlwe_n(); + // let ring_size = self.pbs_info().rlwe_n(); let rlwe_q = self.parameters().rlwe_q(); let sk_rlwe = client_key.sk_rlwe();
M
src/bool/mod.rs
→
src/bool/mod.rs
@@ -16,6 +16,7 @@
use crate::RowEntity; pub type ClientKey = keys::ClientKey<[u8; 32], u64>; +#[cfg(any(feature = "interactive_mp", feature = "non_interactive_mp"))] pub type FheBool = impl_bool_frontend::FheBool<Vec<u64>>; pub(crate) trait BooleanGates {@@ -69,6 +70,7 @@ ) -> Self::Ciphertext;
fn not(&self, c: &Self::Ciphertext) -> Self::Ciphertext; } +#[cfg(any(feature = "interactive_mp", feature = "non_interactive_mp"))] mod impl_bool_frontend { use crate::MultiPartyDecryptor;@@ -193,6 +195,7 @@ }
} } +#[cfg(any(feature = "interactive_mp", feature = "non_interactive_mp"))] mod common_mp_enc_dec { use itertools::Itertools;@@ -200,7 +203,7 @@ use super::BoolEvaluator;
use crate::{ pbs::{sample_extract, PbsInfo}, utils::WithLocal, - Matrix, MultiPartyDecryptor, RowEntity, SampleExtractor, + Matrix, RowEntity, SampleExtractor, }; type Mat = Vec<Vec<u64>>;
M
src/bool/mp_api.rs
→
src/bool/mp_api.rs
@@ -43,9 +43,6 @@ }
ParameterSelector::InteractiveLTE8Party => { BOOL_EVALUATOR.with_borrow_mut(|v| *v = Some(BoolEvaluator::new(I_8P))); } - _ => { - panic!("Paramerter not supported") - } } }
M
src/bool/parameters.rs
→
src/bool/parameters.rs
@@ -725,27 +725,14 @@ w: 5,
variant: ParameterVariant::SingleParty, }; -#[cfg(test)] -mod tests { +// #[cfg(test)] +// mod tests { - impl BoolParameters<u64> { - pub(crate) fn default_rlwe_modop(&self) -> ModularOpsU64<CiphertextModulus<u64>> { - ModularOpsU64::new(self.rlwe_q) - } - pub(crate) fn default_rlwe_nttop(&self) -> NttBackendU64 { - NttBackendU64::new(&self.rlwe_q, self.rlwe_n.0) - } - } - - use crate::{utils::generate_prime, ModInit, ModularOpsU64, Ntt, NttBackendU64, NttInit}; - - use super::{BoolParameters, CiphertextModulus}; - - #[test] - fn find_prime() { - let bits = 60; - let ring_size = 1 << 11; - let prime = generate_prime(bits, ring_size * 2, 1 << bits).unwrap(); - dbg!(prime); - } -} +// #[test] +// fn find_prime() { +// let bits = 60; +// let ring_size = 1 << 11; +// let prime = crate::utils::generate_prime(bits, ring_size * 2, 1 << +// bits).unwrap(); dbg!(prime); +// } +// }
M
src/decomposer.rs
→
src/decomposer.rs
@@ -1,4 +1,4 @@
-use itertools::{assert_equal, izip, Itertools}; +use itertools::{izip, Itertools}; use num_traits::{FromPrimitive, PrimInt, ToPrimitive, WrappingAdd, WrappingSub}; use std::fmt::{Debug, Display};@@ -311,13 +311,13 @@
#[cfg(test)] mod tests { - use itertools::{izip, Itertools}; + use itertools::Itertools; use rand::{thread_rng, Rng}; use crate::{ - backend::{ModInit, ModularOpsU64, Modulus}, + backend::{ModInit, ModularOpsU64}, decomposer::round_value, - utils::{generate_prime, tests::Stats}, + utils::generate_prime, }; use super::{Decomposer, DefaultDecomposer};
M
src/lib.rs
→
src/lib.rs
@@ -10,6 +10,7 @@ mod ntt;
mod pbs; mod random; mod rgsw; +#[cfg(any(feature = "interactive_mp", feature = "non_interactive_mp"))] mod shortint; mod utils;@@ -19,6 +20,7 @@ };
pub use bool::*; pub use ntt::{Ntt, NttBackendU64, NttInit}; +#[cfg(any(feature = "interactive_mp", feature = "non_interactive_mp"))] pub use shortint::{div_zero_error_flag, reset_error_flags, FheUint8}; pub use decomposer::{Decomposer, DecomposerIter, DefaultDecomposer};
M
src/rgsw/keygen.rs
→
src/rgsw/keygen.rs
@@ -625,7 +625,7 @@ mod_op.elwise_add_mut(m_out.as_mut(), rlwe_ct.get_row_slice(1));
} // Measures maximum noise in degree 1 RLWE ciphertext against message `want_m` -pub(crate) fn measure_max_noise< +fn measure_max_noise< Mmut: MatrixMut + Matrix, ModOp: VectorOps<Element = Mmut::MatElement> + GetModulus<Element = Mmut::MatElement>, NttOp: Ntt<Element = Mmut::MatElement>,