make build work with no features

This commit is contained in:
Janmajaya Mall
2024-07-05 12:24:34 +05:30
parent 6776391395
commit da07898fed
7 changed files with 22 additions and 33 deletions

View File

@@ -1642,7 +1642,7 @@ where
// 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();

View File

@@ -16,6 +16,7 @@ pub use mp_api::*;
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 @@ pub(crate) trait BooleanGates {
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 @@ mod impl_bool_frontend {
}
}
#[cfg(any(feature = "interactive_mp", feature = "non_interactive_mp"))]
mod common_mp_enc_dec {
use itertools::Itertools;
@@ -200,7 +203,7 @@ mod common_mp_enc_dec {
use crate::{
pbs::{sample_extract, PbsInfo},
utils::WithLocal,
Matrix, MultiPartyDecryptor, RowEntity, SampleExtractor,
Matrix, RowEntity, SampleExtractor,
};
type Mat = Vec<Vec<u64>>;

View File

@@ -43,9 +43,6 @@ pub fn set_parameter_set(select: ParameterSelector) {
ParameterSelector::InteractiveLTE8Party => {
BOOL_EVALUATOR.with_borrow_mut(|v| *v = Some(BoolEvaluator::new(I_8P)));
}
_ => {
panic!("Paramerter not supported")
}
}
}

View File

@@ -725,27 +725,14 @@ pub(crate) const SP_TEST_BOOL_PARAMS: BoolParameters<u64> = BoolParameters::<u64
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);
// }
// }

View File

@@ -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 @@ fn round_value<T: PrimInt + WrappingAdd>(value: T, ignore_bits: usize) -> T {
#[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};

View File

@@ -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 backend::{
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};

View File

@@ -625,7 +625,7 @@ pub(crate) fn decrypt_rlwe<
}
// 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>,