arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-backend/src/implementation/cpu_spqlios/ffi/reim.rs
poulpy-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}