dgtrealwrapper.h
1 
4 #ifndef NOSYSTEMHEADERS
5 #include "ltfat.h"
6 #endif
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 #include "ltfat/types.h"
12 #include "phaseret/types.h"
13 
14 #ifndef _phaseret_dgtrealwrapper_h
15 #define _phaseret_dgtrealwrapper_h
16 typedef struct phaseret_dgtreal_params phaseret_dgtreal_params;
17 
20 typedef enum
21 {
22  phaseret_dgtreal_auto,
23  phaseret_dgtreal_long,
24  phaseret_dgtreal_fb
25 } phaseret_dgtreal_hint;
26 
34 PHASERET_API phaseret_dgtreal_params*
36 
45 PHASERET_API int
46 phaseret_dgtreal_params_set_phaseconv(phaseret_dgtreal_params* params, ltfat_phaseconvention ptype);
47 
56 PHASERET_API int
57 phaseret_dgtreal_params_set_fftwflags(phaseret_dgtreal_params* params, unsigned fftw_flags);
58 
67 PHASERET_API int
68 phaseret_dgtreal_params_set_hint(phaseret_dgtreal_params* params, phaseret_dgtreal_hint hint);
69 
78 PHASERET_API int
79 phaseret_dgtreal_params_free(phaseret_dgtreal_params* params);
80 
83 // The following function is not part of API
84 int
85 phaseret_dgtreal_params_defaults(phaseret_dgtreal_params* params);
86 
87 #endif
88 
89 typedef struct PHASERET_NAME(dgtreal_plan) PHASERET_NAME(dgtreal_plan);
90 
113 PHASERET_API int
114 PHASERET_NAME(dgtreal_init)(const LTFAT_REAL g[], ltfat_int gl, ltfat_int L, ltfat_int W, ltfat_int a, ltfat_int M,
115  LTFAT_COMPLEX c[], phaseret_dgtreal_params* params,
116  PHASERET_NAME(dgtreal_plan)** p);
117 
118 
142 PHASERET_API int
143 PHASERET_NAME(dgtreal_execute_proj)(PHASERET_NAME(dgtreal_plan)* p,
144  const LTFAT_COMPLEX cin[], LTFAT_COMPLEX c[]);
145 
167 PHASERET_API int
168 PHASERET_NAME(dgtreal_execute_syn)(PHASERET_NAME(dgtreal_plan)* p,
169  const LTFAT_COMPLEX c[], LTFAT_REAL f[]);
170 
189 PHASERET_API int
190 PHASERET_NAME(dgtreal_execute_ana)(PHASERET_NAME(dgtreal_plan)* p,
191  const LTFAT_REAL f[], LTFAT_COMPLEX c[]);
192 
205 PHASERET_API int
206 PHASERET_NAME(dgtreal_done)(PHASERET_NAME(dgtreal_plan)** p);
207 
212 #ifdef __cplusplus
213 }
214 #endif
int phaseret_dgtreal_params_set_fftwflags(phaseret_dgtreal_params *params, unsigned fftw_flags)
int phaseret_dgtreal_params_set_phaseconv(phaseret_dgtreal_params *params, ltfat_phaseconvention ptype)
int dgtreal_execute_ana(dgtreal_plan *p, const LTFAT_REAL f[], LTFAT_COMPLEX c[])
int phaseret_dgtreal_params_free(phaseret_dgtreal_params *params)
int dgtreal_execute_proj(dgtreal_plan *p, const LTFAT_COMPLEX cin[], LTFAT_COMPLEX c[])
int phaseret_dgtreal_params_set_hint(phaseret_dgtreal_params *params, phaseret_dgtreal_hint hint)
int dgtreal_init(const LTFAT_REAL g[], ltfat_int gl, ltfat_int L, ltfat_int W, ltfat_int a, ltfat_int M, LTFAT_COMPLEX c[], phaseret_dgtreal_params *params, dgtreal_plan **p)
phaseret_dgtreal_params * phaseret_dgtreal_params_allocdef()
int dgtreal_execute_syn(dgtreal_plan *p, const LTFAT_COMPLEX c[], LTFAT_REAL f[])
int dgtreal_done(dgtreal_plan **p)