arnaucube
arnaucube/poulpyPublic Self-hosted repository
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