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)]
  7// use poulpy_hal::backend_test_suite;
  8
  9// #[cfg(test)]
 10// backend_test_suite!(
 11// mod cpu_spqlios,
 12// backend = poulpy_backend::cpu_spqlios::FFT64Spqlios,
 13// size = 1<<8,
 14// tests = {
 15// GLWE Encryption
 16// glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
 17// glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
 18// glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
 19// glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
 20// GLWE Keyswitch
 21// glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
 22// glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
 23// GLWE Automorphism
 24// glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
 25// glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
 26// GLWE External Product
 27// glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
 28// glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
 29// GLWE Trace
 30// glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
 31// glwe_packing => crate::tests::test_suite::test_glwe_packing,
 32// GGLWE Encryption
 33// gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
 34// gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
 35// gglwe_automorphisk_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_encrypt_sk,
 36// gglwe_automorphisk_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_compressed_encrypt_sk,
 37// gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
 38// gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
 39// GGLWE Keyswitching
 40// gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
 41// gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
 42// GGLWE External Product
 43// gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
 44// gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
 45// GGLWE Automorphism
 46// gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
 47// gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
 48// GGSW Encryption
 49// ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
 50// ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
 51// GGSW Keyswitching
 52// ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
 53// ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
 54// GGSW External Product
 55// ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
 56// ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
 57// GGSW Automorphism
 58// ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
 59// ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
 60// LWE
 61// lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
 62// glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
 63// lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
 64// }
 65// );
 66//
 67// #[cfg(test)]
 68// backend_test_suite!(
 69// mod cpu_ref,
 70// backend = poulpy_backend::cpu_fft64_ref::FFT64Ref,
 71// size = 1<<8,
 72// tests = {
 73// GLWE Encryption
 74// glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
 75// glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
 76// glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
 77// glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
 78// GLWE Keyswitch
 79// glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
 80// glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
 81// GLWE Automorphism
 82// glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
 83// glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
 84// GLWE External Product
 85// glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
 86// glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
 87// GLWE Trace
 88// glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
 89// glwe_packing => crate::tests::test_suite::test_glwe_packing,
 90// GGLWE Encryption
 91// gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
 92// gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
 93// gglwe_automorphisk_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_encrypt_sk,
 94// gglwe_automorphisk_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_compressed_encrypt_sk,
 95// gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
 96// gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
 97// GGLWE Keyswitching
 98// gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
 99// gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
100// GGLWE External Product
101// gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
102// gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
103// GGLWE Automorphism
104// gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
105// gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
106// GGSW Encryption
107// ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
108// ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
109// GGSW Keyswitching
110// ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
111// ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
112// GGSW External Product
113// ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
114// ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
115// GGSW Automorphism
116// ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
117// ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
118// LWE
119// lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
120// glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
121// lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
122// }
123// );
124//
125// #[cfg(any(target_arch = "x86_64", target_arch = "x86"))]
126// #[cfg(test)]
127// backend_test_suite!(
128// mod cpu_avx,
129// backend = poulpy_backend::cpu_fft64_avx::FFT64Avx,
130// size = 1<<8,
131// tests = {
132// GLWE Encryption
133// glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
134// glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
135// glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
136// glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
137// GLWE Keyswitch
138// glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
139// glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
140// GLWE Automorphism
141// glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
142// glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
143// GLWE External Product
144// glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
145// glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
146// GLWE Trace
147// glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
148// glwe_packing => crate::tests::test_suite::test_glwe_packing,
149// GGLWE Encryption
150// gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
151// gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
152// gglwe_automorphisk_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_encrypt_sk,
153// gglwe_automorphisk_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_compressed_encrypt_sk,
154// gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
155// gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
156// GGLWE Keyswitching
157// gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
158// gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
159// GGLWE External Product
160// gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
161// gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
162// GGLWE Automorphism
163// gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
164// gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
165// GGSW Encryption
166// ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
167// ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
168// GGSW Keyswitching
169// ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
170// ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
171// GGSW External Product
172// ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
173// ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
174// GGSW Automorphism
175// ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
176// ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
177// LWE
178// lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
179// glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
180// lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
181// }
182// );