poulpy/backend/src/implementation/cpu_spqlios/ffi/reim.rs
backend/src/implementation/cpu_spqlios/ffi/reim.rsRaw
1#[repr(C)]
2#[derive(Debug, Copy, Clone)]
3pub struct reim_fft_precomp {
4 _unused: [u8; 0],
5}
6pub type REIM_FFT_PRECOMP = reim_fft_precomp;
7#[repr(C)]
8#[derive(Debug, Copy, Clone)]
9pub struct reim_ifft_precomp {
10 _unused: [u8; 0],
11}
12pub type REIM_IFFT_PRECOMP = reim_ifft_precomp;
13#[repr(C)]
14#[derive(Debug, Copy, Clone)]
15pub struct reim_mul_precomp {
16 _unused: [u8; 0],
17}
18pub type REIM_FFTVEC_MUL_PRECOMP = reim_mul_precomp;
19#[repr(C)]
20#[derive(Debug, Copy, Clone)]
21pub struct reim_addmul_precomp {
22 _unused: [u8; 0],
23}
24pub type REIM_FFTVEC_ADDMUL_PRECOMP = reim_addmul_precomp;
25#[repr(C)]
26#[derive(Debug, Copy, Clone)]
27pub struct reim_from_znx32_precomp {
28 _unused: [u8; 0],
29}
30pub type REIM_FROM_ZNX32_PRECOMP = reim_from_znx32_precomp;
31#[repr(C)]
32#[derive(Debug, Copy, Clone)]
33pub struct reim_from_znx64_precomp {
34 _unused: [u8; 0],
35}
36pub type REIM_FROM_ZNX64_PRECOMP = reim_from_znx64_precomp;
37#[repr(C)]
38#[derive(Debug, Copy, Clone)]
39pub struct reim_from_tnx32_precomp {
40 _unused: [u8; 0],
41}
42pub type REIM_FROM_TNX32_PRECOMP = reim_from_tnx32_precomp;
43#[repr(C)]
44#[derive(Debug, Copy, Clone)]
45pub struct reim_to_tnx32_precomp {
46 _unused: [u8; 0],
47}
48pub type REIM_TO_TNX32_PRECOMP = reim_to_tnx32_precomp;
49#[repr(C)]
50#[derive(Debug, Copy, Clone)]
51pub struct reim_to_tnx_precomp {
52 _unused: [u8; 0],
53}
54pub type REIM_TO_TNX_PRECOMP = reim_to_tnx_precomp;
55#[repr(C)]
56#[derive(Debug, Copy, Clone)]
57pub struct reim_to_znx64_precomp {
58 _unused: [u8; 0],
59}
60pub type REIM_TO_ZNX64_PRECOMP = reim_to_znx64_precomp;
61unsafe extern "C" {
62 pub unsafe fn new_reim_fft_precomp(m: u32, num_buffers: u32) -> *mut REIM_FFT_PRECOMP;
63}
64unsafe extern "C" {
65 pub unsafe fn reim_fft_precomp_get_buffer(tables: *const REIM_FFT_PRECOMP, buffer_index: u32) -> *mut f64;
66}
67unsafe extern "C" {
68 pub unsafe fn new_reim_fft_buffer(m: u32) -> *mut f64;
69}
70unsafe extern "C" {
71 pub unsafe fn delete_reim_fft_buffer(buffer: *mut f64);
72}
73unsafe extern "C" {
74 pub unsafe fn reim_fft(tables: *const REIM_FFT_PRECOMP, data: *mut f64);
75}
76unsafe extern "C" {
77 pub unsafe fn new_reim_ifft_precomp(m: u32, num_buffers: u32) -> *mut REIM_IFFT_PRECOMP;
78}
79unsafe extern "C" {
80 pub unsafe fn reim_ifft_precomp_get_buffer(tables: *const REIM_IFFT_PRECOMP, buffer_index: u32) -> *mut f64;
81}
82unsafe extern "C" {
83 pub unsafe fn reim_ifft(tables: *const REIM_IFFT_PRECOMP, data: *mut f64);
84}
85unsafe extern "C" {
86 pub unsafe fn new_reim_fftvec_mul_precomp(m: u32) -> *mut REIM_FFTVEC_MUL_PRECOMP;
87}
88unsafe extern "C" {
89 pub unsafe fn reim_fftvec_mul(tables: *const REIM_FFTVEC_MUL_PRECOMP, r: *mut f64, a: *const f64, b: *const f64);
90}
91unsafe extern "C" {
92 pub unsafe fn new_reim_fftvec_addmul_precomp(m: u32) -> *mut REIM_FFTVEC_ADDMUL_PRECOMP;
93}
94unsafe extern "C" {
95 pub unsafe fn reim_fftvec_addmul(tables: *const REIM_FFTVEC_ADDMUL_PRECOMP, r: *mut f64, a: *const f64, b: *const f64);
96}
97unsafe extern "C" {
98 pub unsafe fn new_reim_from_znx32_precomp(m: u32, log2bound: u32) -> *mut REIM_FROM_ZNX32_PRECOMP;
99}
100unsafe extern "C" {
101 pub unsafe fn reim_from_znx32(tables: *const REIM_FROM_ZNX32_PRECOMP, r: *mut ::std::os::raw::c_void, a: *const i32);
102}
103unsafe extern "C" {
104 pub unsafe fn reim_from_znx64(tables: *const REIM_FROM_ZNX64_PRECOMP, r: *mut ::std::os::raw::c_void, a: *const i64);
105}
106unsafe extern "C" {
107 pub unsafe fn new_reim_from_znx64_precomp(m: u32, maxbnd: u32) -> *mut REIM_FROM_ZNX64_PRECOMP;
108}
109unsafe extern "C" {
110 pub unsafe fn reim_from_znx64_simple(m: u32, log2bound: u32, r: *mut ::std::os::raw::c_void, a: *const i64);
111}
112unsafe extern "C" {
113 pub unsafe fn new_reim_from_tnx32_precomp(m: u32) -> *mut REIM_FROM_TNX32_PRECOMP;
114}
115unsafe extern "C" {
116 pub unsafe fn reim_from_tnx32(tables: *const REIM_FROM_TNX32_PRECOMP, r: *mut ::std::os::raw::c_void, a: *const i32);
117}
118unsafe extern "C" {
119 pub unsafe fn new_reim_to_tnx32_precomp(m: u32, divisor: f64, log2overhead: u32) -> *mut REIM_TO_TNX32_PRECOMP;
120}
121unsafe extern "C" {
122 pub unsafe fn reim_to_tnx32(tables: *const REIM_TO_TNX32_PRECOMP, r: *mut i32, a: *const ::std::os::raw::c_void);
123}
124unsafe extern "C" {
125 pub unsafe fn new_reim_to_tnx_precomp(m: u32, divisor: f64, log2overhead: u32) -> *mut REIM_TO_TNX_PRECOMP;
126}
127unsafe extern "C" {
128 pub unsafe fn reim_to_tnx(tables: *const REIM_TO_TNX_PRECOMP, r: *mut f64, a: *const f64);
129}
130unsafe extern "C" {
131 pub unsafe fn reim_to_tnx_simple(m: u32, divisor: f64, log2overhead: u32, r: *mut f64, a: *const f64);
132}
133unsafe extern "C" {
134 pub unsafe fn new_reim_to_znx64_precomp(m: u32, divisor: f64, log2bound: u32) -> *mut REIM_TO_ZNX64_PRECOMP;
135}
136unsafe extern "C" {
137 pub unsafe fn reim_to_znx64(precomp: *const REIM_TO_ZNX64_PRECOMP, r: *mut i64, a: *const ::std::os::raw::c_void);
138}
139unsafe extern "C" {
140 pub unsafe fn reim_to_znx64_simple(m: u32, divisor: f64, log2bound: u32, r: *mut i64, a: *const ::std::os::raw::c_void);
141}
142unsafe extern "C" {
143 pub unsafe fn reim_fft_simple(m: u32, data: *mut ::std::os::raw::c_void);
144}
145unsafe extern "C" {
146 pub unsafe fn reim_ifft_simple(m: u32, data: *mut ::std::os::raw::c_void);
147}
148unsafe extern "C" {
149 pub unsafe fn reim_fftvec_mul_simple(
150 m: u32,
151 r: *mut ::std::os::raw::c_void,
152 a: *const ::std::os::raw::c_void,
153 b: *const ::std::os::raw::c_void,
154 );
155}
156unsafe extern "C" {
157 pub unsafe fn reim_fftvec_addmul_simple(
158 m: u32,
159 r: *mut ::std::os::raw::c_void,
160 a: *const ::std::os::raw::c_void,
161 b: *const ::std::os::raw::c_void,
162 );
163}
164unsafe extern "C" {
165 pub unsafe fn reim_from_znx32_simple(m: u32, log2bound: u32, r: *mut ::std::os::raw::c_void, x: *const i32);
166}
167unsafe extern "C" {
168 pub unsafe fn reim_from_tnx32_simple(m: u32, r: *mut ::std::os::raw::c_void, x: *const i32);
169}
170unsafe extern "C" {
171 pub unsafe fn reim_to_tnx32_simple(m: u32, divisor: f64, log2overhead: u32, r: *mut i32, x: *const ::std::os::raw::c_void);
172}