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_ref,
12 backend = poulpy_backend::cpu_fft64_ref::FFT64Ref,
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 Base2k Conversion
21glwe_base2k_conv => crate::tests::test_suite::test_glwe_base2k_conversion,
22// GLWE Keyswitch
23glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
24glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
25// GLWE Automorphism
26glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
27glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
28// GLWE External Product
29glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
30glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
31// GLWE Trace
32glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
33glwe_packing => crate::tests::test_suite::test_glwe_packer,
34// GGLWE Encryption
35gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
36gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
37gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
38gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
39gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
40gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
41gglwe_to_ggsw_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_to_ggsw_key_encrypt_sk,
42// GGLWE Keyswitching
43gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
44gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
45// GGLWE External Product
46gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
47gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
48// GGLWE Automorphism
49gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
50gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
51// GGSW Encryption
52ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
53ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
54// GGSW Keyswitching
55ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
56ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
57// GGSW External Product
58ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
59ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
60// GGSW Automorphism
61ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
62ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
63// LWE
64lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
65glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
66lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
67}
68 );
69
70#[cfg(any(target_arch = "x86_64", target_arch = "x86"))]
71#[cfg(test)]
72backend_test_suite!(
73 mod cpu_avx,
74 backend = poulpy_backend::cpu_fft64_avx::FFT64Avx,
75 size = 1<<8,
76 tests = {
77 //GLWE Encryption
78 glwe_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_sk,
79 glwe_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_glwe_compressed_encrypt_sk,
80 glwe_encrypt_zero_sk => crate::tests::test_suite::encryption::test_glwe_encrypt_zero_sk,
81 glwe_encrypt_pk => crate::tests::test_suite::encryption::test_glwe_encrypt_pk,
82 // GLWE Base2k Conversion
83glwe_base2k_conv => crate::tests::test_suite::test_glwe_base2k_conversion,
84// GLWE Keyswitch
85glwe_keyswitch => crate::tests::test_suite::keyswitch::test_glwe_keyswitch,
86glwe_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_glwe_keyswitch_inplace,
87// GLWE Automorphism
88glwe_automorphism => crate::tests::test_suite::automorphism::test_glwe_automorphism,
89glwe_automorphism_inplace => crate::tests::test_suite::automorphism::test_glwe_automorphism_inplace,
90// GLWE External Product
91glwe_external_product => crate::tests::test_suite::external_product::test_glwe_external_product,
92glwe_external_product_inplace => crate::tests::test_suite::external_product::test_glwe_external_product_inplace,
93// GLWE Trace
94glwe_trace_inplace => crate::tests::test_suite::test_glwe_trace_inplace,
95glwe_packing => crate::tests::test_suite::test_glwe_packer,
96// GGLWE Encryption
97gglwe_switching_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_encrypt_sk,
98gglwe_switching_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_switching_key_compressed_encrypt_sk,
99gglwe_automorphism_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_encrypt_sk,
100gglwe_automorphism_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_automorphism_key_compressed_encrypt_sk,
101gglwe_tensor_key_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_encrypt_sk,
102gglwe_tensor_key_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_gglwe_tensor_key_compressed_encrypt_sk,
103// GGLWE Keyswitching
104gglwe_switching_key_keyswitch => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch,
105gglwe_switching_key_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_gglwe_switching_key_keyswitch_inplace,
106// GGLWE External Product
107gglwe_switching_key_external_product => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product,
108gglwe_switching_key_external_product_inplace => crate::tests::test_suite::external_product::test_gglwe_switching_key_external_product_inplace,
109// GGLWE Automorphism
110gglwe_automorphism_key_automorphism => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism,
111gglwe_automorphism_key_automorphism_inplace => crate::tests::test_suite::automorphism::test_gglwe_automorphism_key_automorphism_inplace,
112// GGSW Encryption
113ggsw_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_encrypt_sk,
114ggsw_compressed_encrypt_sk => crate::tests::test_suite::encryption::test_ggsw_compressed_encrypt_sk,
115// GGSW Keyswitching
116ggsw_keyswitch => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch,
117ggsw_keyswitch_inplace => crate::tests::test_suite::keyswitch::test_ggsw_keyswitch_inplace,
118// GGSW External Product
119ggsw_external_product => crate::tests::test_suite::external_product::test_ggsw_external_product,
120ggsw_external_product_inplace => crate::tests::test_suite::external_product::test_ggsw_external_product_inplace,
121// GGSW Automorphism
122ggsw_automorphism => crate::tests::test_suite::automorphism::test_ggsw_automorphism,
123ggsw_automorphism_inplace => crate::tests::test_suite::automorphism::test_ggsw_automorphism_inplace,
124// LWE
125lwe_keyswitch => crate::tests::test_suite::keyswitch::test_lwe_keyswitch,
126glwe_to_lwe => crate::tests::test_suite::test_glwe_to_lwe,
127lwe_to_glwe => crate::tests::test_suite::test_lwe_to_glwe,
128}
129 );