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#[cfg(test)]
 10backend_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
 33gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
 34gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
 35gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
 36gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
 37gglwe_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// #[cfg(test)]
 67// backend_test_suite!(
 68// mod cpu_ref,
 69// backend = poulpy_backend::cpu_fft64_ref::FFT64Ref,
 70// size = 1<<8,
 71// tests = {
 72// GLWE Encryption
 73// glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
 74// glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
 75// glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
 76// glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
 77// GLWE Keyswitch
 78// glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
 79// glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
 80// GLWE Automorphism
 81// glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
 82// glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
 83// GLWE External Product
 84// glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
 85// glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
 86// GLWE Trace
 87// glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
 88// glwe_packing => crate::tests::test_suite::test_glwe_packing,
 89// GGLWE Encryption
 90// gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
 91// gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
 92// gglwe_automorphisk_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_encrypt_sk,
 93// gglwe_automorphisk_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_compressed_encrypt_sk,
 94// gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
 95// gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
 96// GGLWE Keyswitching
 97// gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
 98// gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
 99// GGLWE External Product
100// gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
101// gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
102// GGLWE Automorphism
103// gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
104// gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
105// GGSW Encryption
106// ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
107// ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
108// GGSW Keyswitching
109// ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
110// ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
111// GGSW External Product
112// ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
113// ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
114// GGSW Automorphism
115// ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
116// ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
117// LWE
118// lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
119// glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
120// lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
121// }
122// );
123//
124// #[cfg(any(target_arch = "x86_64", target_arch = "x86"))]
125// #[cfg(test)]
126// backend_test_suite!(
127// mod cpu_avx,
128// backend = poulpy_backend::cpu_fft64_avx::FFT64Avx,
129// size = 1<<8,
130// tests = {
131// GLWE Encryption
132// glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
133// glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
134// glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
135// glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
136// GLWE Keyswitch
137// glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
138// glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
139// GLWE Automorphism
140// glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
141// glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
142// GLWE External Product
143// glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
144// glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
145// GLWE Trace
146// glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
147// glwe_packing => crate::tests::test_suite::test_glwe_packing,
148// GGLWE Encryption
149// gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
150// gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
151// gglwe_automorphisk_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_encrypt_sk,
152// gglwe_automorphisk_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphisk_key_compressed_encrypt_sk,
153// gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
154// gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
155// GGLWE Keyswitching
156// gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
157// gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
158// GGLWE External Product
159// gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
160// gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
161// GGLWE Automorphism
162// gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
163// gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
164// GGSW Encryption
165// ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
166// ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
167// GGSW Keyswitching
168// ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
169// ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
170// GGSW External Product
171// ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
172// ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
173// GGSW Automorphism
174// ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
175// ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
176// LWE
177// lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
178// glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
179// lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
180// }
181// );