arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-core/src/tests/mod.rs
poulpy-core/src/tests/mod.rsRaw
  1pub mod test_suite;
  2
  3#[cfg(test)]
  4mod serialization;
  5
  6#[allow(unused_imports)]
  7use poulpy_hal::backend_test_suite;
  8
  9
 10#[cfg(test)]
 11backend_test_suite!(
 12 mod cpu_ref,
 13 backend = poulpy_backend::cpu_fft64_ref::FFT64Ref,
 14 size = 1<<8,
 15 tests = {
 16 //GLWE Encryption
 17 glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
 18 glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
 19 glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
 20 glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
 21// GLWE Base2k Conversion
 22glwe_base2k_conv => crate::tests::test_suite::test_glwe_base2k_conversion,
 23// GLWE Keyswitch
 24glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
 25//glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
 26// GLWE Automorphism
 27glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
 28glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
 29// GLWE External Product
 30glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
 31glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
 32// GLWE Trace
 33glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
 34glwe_packing => crate::tests::test_suite::test_glwe_packer,
 35// GGLWE Encryption
 36gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
 37gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
 38gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
 39gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
 40gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
 41gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
 42gglwe_to_ggsw_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_to_ggsw_key_encrypt_sk,
 43// GGLWE Keyswitching
 44gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
 45gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
 46// GGLWE External Product
 47gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
 48gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
 49// GGLWE Automorphism
 50gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
 51gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
 52// GGSW Encryption
 53ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
 54ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
 55// GGSW Keyswitching
 56ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
 57ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
 58// GGSW External Product
 59ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
 60ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
 61// GGSW Automorphism
 62ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
 63ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
 64// LWE
 65lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
 66glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
 67lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
 68}
 69 );
 70
 71#[cfg(any(target_arch = "x86_64", target_arch = "x86"))]
 72#[cfg(test)]
 73backend_test_suite!(
 74 mod cpu_avx,
 75 backend = poulpy_backend::cpu_fft64_avx::FFT64Avx,
 76 size = 1<<8,
 77 tests = {
 78 //GLWE Encryption
 79 glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
 80 glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
 81 glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
 82 glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
 83// GLWE Keyswitch
 84glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
 85glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
 86// GLWE Automorphism
 87glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
 88glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
 89// GLWE External Product
 90glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
 91glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
 92// GLWE Trace
 93glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
 94glwe_packing => crate::tests::test_suite::test_glwe_packer,
 95// GGLWE Encryption
 96gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
 97gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
 98gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
 99gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
100gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
101gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
102// GGLWE Keyswitching
103gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
104gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
105// GGLWE External Product
106gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
107gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
108// GGLWE Automorphism
109gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
110gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
111// GGSW Encryption
112ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
113ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
114// GGSW Keyswitching
115ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
116ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
117// GGSW External Product
118ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
119ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
120// GGSW Automorphism
121ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
122ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
123// LWE
124lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
125glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
126lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
127}
128 );