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_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 => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
22 glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
23 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 => 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_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
31 glwe_packing => crate::tests::test_suite::test_glwe_packing,
32 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_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_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_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_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_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 => 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 => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
59 ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
60 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)]
68backend_test_suite!(
69 mod cpu_ref,
70 backend = poulpy_backend::cpu_fft64_ref::FFT64Ref,
71 size = 1<<8,
72 tests = {
73 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 => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
80 glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
81 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 => 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_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
89 glwe_packing => crate::tests::test_suite::test_glwe_packing,
90 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_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_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_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_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_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 => 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 => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
117 ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
118 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(test)]
126backend_test_suite!(
127 mod cpu_avx,
128 backend = poulpy_backend::cpu_fft64_avx::FFT64Avx,
129 size = 1<<8,
130 tests = {
131 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 => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
138 glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
139 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 => 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_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
147 glwe_packing => crate::tests::test_suite::test_glwe_packing,
148 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_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_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_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_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_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 => 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 => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
175 ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
176 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);