Added noise equation for keyswitch over GGSW & updated associated test

This commit is contained in:
Jean-Philippe Bossuat
2025-05-20 14:36:26 +02:00
parent 7d84477e64
commit a803127424
5 changed files with 107 additions and 29 deletions

View File

@@ -14,7 +14,7 @@ use crate::{
glwe_plaintext::GLWEPlaintext,
keys::{GLWEPublicKey, SecretKey, SecretKeyFourier},
keyswitch_key::GLWESwitchingKey,
test_fft64::{gglwe::noise_gglwe_product, ggsw::noise_ggsw_product},
test_fft64::{gglwe::log2_std_noise_gglwe_product, ggsw::noise_ggsw_product},
};
#[test]
@@ -326,7 +326,7 @@ fn test_keyswitch(
module.vec_znx_sub_ab_inplace(&mut pt_have, 0, &pt_want, 0);
let noise_have: f64 = pt_have.data.std(0, basek).log2();
let noise_want: f64 = noise_gglwe_product(
let noise_want: f64 = log2_std_noise_gglwe_product(
module.n() as f64,
basek,
0.5,
@@ -411,7 +411,7 @@ fn test_keyswitch_inplace(log_n: usize, basek: usize, k_ksk: usize, k_ct: usize,
module.vec_znx_sub_ab_inplace(&mut pt_have, 0, &pt_want, 0);
let noise_have: f64 = pt_have.data.std(0, basek).log2();
let noise_want: f64 = noise_gglwe_product(
let noise_want: f64 = log2_std_noise_gglwe_product(
module.n() as f64,
basek,
0.5,
@@ -502,7 +502,7 @@ fn test_automorphism(
println!("{}", noise_have);
let noise_want: f64 = noise_gglwe_product(
let noise_want: f64 = log2_std_noise_gglwe_product(
module.n() as f64,
basek,
0.5,
@@ -581,7 +581,7 @@ fn test_automorphism_inplace(log_n: usize, basek: usize, p: i64, k_autokey: usiz
module.vec_znx_normalize_inplace(basek, &mut pt_have, 0, scratch.borrow());
let noise_have: f64 = pt_have.data.std(0, basek).log2();
let noise_want: f64 = noise_gglwe_product(
let noise_want: f64 = log2_std_noise_gglwe_product(
module.n() as f64,
basek,
0.5,