poulpy/poulpy-core/src/tests/mod.rs
poulpy-core/src/tests/mod.rsRaw
1// pub 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// );