91 typedef struct PFFFT_Setup PFFFT_Setup;
93#ifndef PFFFT_COMMON_ENUMS
94#define PFFFT_COMMON_ENUMS
97 typedef enum { PFFFT_FORWARD, PFFFT_BACKWARD } pffft_direction_t;
100 typedef enum { PFFFT_REAL, PFFFT_COMPLEX } pffft_transform_t;
109 PFFFT_Setup *pffft_new_setup(
int N, pffft_transform_t transform);
110 void pffft_destroy_setup(PFFFT_Setup *);
129 void pffft_transform(PFFFT_Setup *setup,
const float *input,
float *output,
float *work, pffft_direction_t direction);
138 void pffft_transform_ordered(PFFFT_Setup *setup,
const float *input,
float *output,
float *work, pffft_direction_t direction);
152 void pffft_zreorder(PFFFT_Setup *setup,
const float *input,
float *output, pffft_direction_t direction);
166 void pffft_zconvolve_accumulate(PFFFT_Setup *setup,
const float *dft_a,
const float *dft_b,
float *dft_ab,
float scaling);
173 void *pffft_aligned_malloc(
size_t nb_bytes);
174 void pffft_aligned_free(
void *);
177 int pffft_simd_size();