Function concrete_npe::estimate_several_additions_noise
source · [−]pub fn estimate_several_additions_noise<D>(
dispersion_cts: &[D],
log2_modulus: u32
) -> Variancewhere
D: DispersionParameter,
Expand description
Computes the dispersion of an addition of several uncorrelated ciphertexts.
Example:
use concrete_core::prelude::{DispersionParameter, Variance};
use concrete_npe::estimate_several_additions_noise;
let var1 = Variance(2_f64.powf(-25.));
let var2 = Variance(2_f64.powf(-25.));
let var3 = Variance(2_f64.powf(-24.));
let var_in = [var1, var2, var3];
let var_out = estimate_several_additions_noise::<_>(&var_in, 64);
println!("Expect Variance (2^24) = {}", 2_f64.powi(-23));
println!("Output Variance {}", var_out.get_variance());
assert!((2_f64.powi(-23) - var_out.get_variance()).abs() < 0.0001);