File fft2d_core.h¶
File List > doppler > fft2d > fft2d_core.h
Go to the documentation of this file
#ifndef DP_FFT2D_CORE_H
#define DP_FFT2D_CORE_H
#include "doppler/clib_common.h"
#include "doppler/pocketfft/pocketfft.h"
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct
{
pocketfft_plan *plan_f64;
pocketfft_plan *plan_f32;
size_t ny;
size_t nx;
int sign;
double _Complex *work_trunc;
} dp_fft2d_state_t;
dp_fft2d_state_t *dp_fft2d_create (size_t ny, size_t nx, int sign, int nthreads);
void dp_fft2d_destroy (dp_fft2d_state_t *state);
void dp_fft2d_reset (dp_fft2d_state_t *state);
size_t dp_fft2d_execute_cf64_max_out (dp_fft2d_state_t *state);
size_t dp_fft2d_execute_cf64 (dp_fft2d_state_t *state, const double _Complex *in,
size_t n_in, double _Complex *out,
size_t max_out);
size_t dp_fft2d_execute_cf32_max_out (dp_fft2d_state_t *state);
size_t dp_fft2d_execute_cf32 (dp_fft2d_state_t *state, const float _Complex *in,
size_t n_in, float _Complex *out,
size_t max_out);
size_t dp_fft2d_execute_inplace_cf64_max_out (dp_fft2d_state_t *state);
size_t dp_fft2d_execute_inplace_cf64 (dp_fft2d_state_t *state,
const double _Complex *in, size_t n_in,
double _Complex *out, size_t max_out);
size_t dp_fft2d_execute_inplace_cf32_max_out (dp_fft2d_state_t *state);
size_t dp_fft2d_execute_inplace_cf32 (dp_fft2d_state_t *state,
const float _Complex *in, size_t n_in,
float _Complex *out, size_t max_out);
#ifdef __cplusplus
}
#endif
#endif /* FFT2D_CORE_H */