Function concrete_npe::estimate_several_additions_noise
source · [−]pub fn estimate_several_additions_noise<T, D>(dispersion_cts: &[D]) -> Variance where
T: UnsignedInteger,
D: DispersionParameter,
Expand description
Computes the dispersion of an addition of several uncorrelated ciphertexts.
Example:
use concrete_commons::dispersion::{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::<u64, _>(&var_in);
println!("Expect Variance (2^24) = {}", f64::powi(2., -23));
println!("Output Variance {}", var_out.get_variance());
assert!((f64::powi(2., -23) - var_out.get_variance()).abs() < 0.0001);