1pub mod test_suite;
2
3#[cfg(test)]
4mod serialization;
5
6#[cfg(test)]
7#[cfg(all(feature = "enable-avx", target_arch = "x86_64"))]
8mod poulpy_core {
9 use poulpy_hal::backend_test_suite;
10
11 backend_test_suite!(
12 mod cpu_avx,
13 backend = poulpy_cpu_avx::FFT64Avx,
14 size = 1<<8,
15 tests = {
16 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_conv => crate::tests::test_suite::test_glwe_base2k_conversion,
23 glwe_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 => crate::tests::test_suite::automorphism::test_glwe_automorphism,
28 glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
29 glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
31 glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
32 glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
34 glwe_packing => crate::tests::test_suite::test_glwe_packing,
35 glwe_packer => crate::tests::test_suite::test_glwe_packer,
36 gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
38 gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
39 gglwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_compressed_encrypt_sk,
40 gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
41 gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
42 gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
43 gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
44 gglwe_to_ggsw_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_to_ggsw_key_encrypt_sk,
45 gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
47 gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
48 gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
50 gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
51 gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
53 gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
54 ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
56 ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
57 ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
59 ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
60 ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
62 ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
63 ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
65 ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
66 lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
68 glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
69 lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
70 }
71 );
72}
73
74#[cfg(test)]
75#[cfg(not(all(feature = "enable-avx", target_arch = "x86_64")))]
76mod poulpy_core {
77 use poulpy_hal::backend_test_suite;
78
79 backend_test_suite!(
80 mod cpu_ref,
81 backend = poulpy_cpu_ref::FFT64Ref,
82 size = 1<<8,
83 tests = {
84 glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
86 glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
87 glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
88 glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
89 glwe_base2k_conv => crate::tests::test_suite::test_glwe_base2k_conversion,
91 glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
93 glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
94 glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
96 glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
97 glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
99 glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
100 glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
102 glwe_packing => crate::tests::test_suite::test_glwe_packing,
103 glwe_packer => crate::tests::test_suite::test_glwe_packer,
104 gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
106 gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
107 gglwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_compressed_encrypt_sk,
108 gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
109 gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
110 gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
111 gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
112 gglwe_to_ggsw_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_to_ggsw_key_encrypt_sk,
113 gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
115 gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
116 gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
118 gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
119 gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
121 gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
122 ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
124 ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
125 ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
127 ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
128 ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
130 ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
131 ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
133 ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
134 lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
136 glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
137 lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
138 }
139 );
140}