poulpy/poulpy-backend/src/cpu_spqlios/spqlios-arithmetic/spqlios/reim4/reim4_fftvec_private.h
poulpy-backend/src/cpu_spqlios/spqlios-arithmetic/spqlios/reim4/reim4_fftvec_private.hRaw
1#ifndef SPQLIOS_REIM4_FFTVEC_PRIVATE_H
2#define SPQLIOS_REIM4_FFTVEC_PRIVATE_H
3
4#include "reim4_fftvec_public.h"
5
6#define STATIC_ASSERT(condition) (void)sizeof(char[-1 + 2 * !!(condition)])
7
8typedef void (*R4_FFTVEC_MUL_FUNC)(const REIM4_FFTVEC_MUL_PRECOMP*, double*, const double*, const double*);
9typedef void (*R4_FFTVEC_ADDMUL_FUNC)(const REIM4_FFTVEC_ADDMUL_PRECOMP*, double*, const double*, const double*);
10typedef void (*R4_FROM_CPLX_FUNC)(const REIM4_FROM_CPLX_PRECOMP*, double*, const void*);
11typedef void (*R4_TO_CPLX_FUNC)(const REIM4_TO_CPLX_PRECOMP*, void*, const double*);
12
13struct reim4_mul_precomp {
14 R4_FFTVEC_MUL_FUNC function;
15 int64_t m;
16};
17
18struct reim4_addmul_precomp {
19 R4_FFTVEC_ADDMUL_FUNC function;
20 int64_t m;
21};
22
23struct reim4_from_cplx_precomp {
24 R4_FROM_CPLX_FUNC function;
25 int64_t m;
26};
27
28struct reim4_to_cplx_precomp {
29 R4_TO_CPLX_FUNC function;
30 int64_t m;
31};
32
33#endif // SPQLIOS_REIM4_FFTVEC_PRIVATE_H