poulpy/base2k/src/ffi/vec_znx_dft.rs
base2k/src/ffi/vec_znx_dft.rsRaw
1use crate::ffi::module::MODULE;
2use crate::ffi::vec_znx_big::VEC_ZNX_BIG;
3
4#[repr(C)]
5#[derive(Debug, Copy, Clone)]
6pub struct vec_znx_dft_t {
7 _unused: [u8; 0],
8}
9pub type VEC_ZNX_DFT = vec_znx_dft_t;
10
11unsafe extern "C" {
12 pub unsafe fn bytes_of_vec_znx_dft(module: *const MODULE, size: u64) -> u64;
13}
14unsafe extern "C" {
15 pub unsafe fn new_vec_znx_dft(module: *const MODULE, size: u64) -> *mut VEC_ZNX_DFT;
16}
17unsafe extern "C" {
18 pub unsafe fn delete_vec_znx_dft(res: *mut VEC_ZNX_DFT);
19}
20
21unsafe extern "C" {
22 pub unsafe fn vec_dft_zero(module: *const MODULE, res: *mut VEC_ZNX_DFT, res_size: u64);
23}
24unsafe extern "C" {
25 pub unsafe fn vec_dft_add(
26 module: *const MODULE,
27 res: *mut VEC_ZNX_DFT,
28 res_size: u64,
29 a: *const VEC_ZNX_DFT,
30 a_size: u64,
31 b: *const VEC_ZNX_DFT,
32 b_size: u64,
33 );
34}
35unsafe extern "C" {
36 pub unsafe fn vec_dft_sub(
37 module: *const MODULE,
38 res: *mut VEC_ZNX_DFT,
39 res_size: u64,
40 a: *const VEC_ZNX_DFT,
41 a_size: u64,
42 b: *const VEC_ZNX_DFT,
43 b_size: u64,
44 );
45}
46unsafe extern "C" {
47 pub unsafe fn vec_znx_dft(module: *const MODULE, res: *mut VEC_ZNX_DFT, res_size: u64, a: *const i64, a_size: u64, a_sl: u64);
48}
49unsafe extern "C" {
50 pub unsafe fn vec_znx_idft(
51 module: *const MODULE,
52 res: *mut VEC_ZNX_BIG,
53 res_size: u64,
54 a_dft: *const VEC_ZNX_DFT,
55 a_size: u64,
56 tmp: *mut u8,
57 );
58}
59unsafe extern "C" {
60 pub unsafe fn vec_znx_idft_tmp_bytes(module: *const MODULE) -> u64;
61}
62unsafe extern "C" {
63 pub unsafe fn vec_znx_idft_tmp_a(
64 module: *const MODULE,
65 res: *mut VEC_ZNX_BIG,
66 res_size: u64,
67 a_dft: *mut VEC_ZNX_DFT,
68 a_size: u64,
69 );
70}
71
72unsafe extern "C" {
73 pub unsafe fn vec_znx_dft_automorphism(
74 module: *const MODULE,
75 d: i64,
76 res_dft: *mut VEC_ZNX_DFT,
77 res_size: u64,
78 a_dft: *const VEC_ZNX_DFT,
79 a_size: u64,
80 tmp: *mut u8,
81 );
82}
83
84unsafe extern "C" {
85 pub unsafe fn vec_znx_dft_automorphism_tmp_bytes(module: *const MODULE) -> u64;
86}