![]() |
![]() |
fft_plan_t | ifft_omp_sp_plan_3d_c2r (int N1, int N2, int N3, int mode, fft_callout_t fxns) |
int | ifft_omp_sp_3d_c2r_ecpy (fft_param_u u, void *edmaState) |
#define | IFFT_OMP_SP_3D_C2R_MIN_SIZE ( 64*64*64) |
#define | IFFT_OMP_SP_3D_C2R_MAX_SIZE (1024*1024*1024) |
3
#define IFFT_OMP_SP_3D_C2R_MIN_SIZE ( 64*64*64) |
Definition at line 52 of file ifft_omp_sp_3d_c2r.h.
#define IFFT_OMP_SP_3D_C2R_MAX_SIZE (1024*1024*1024) |
Definition at line 53 of file ifft_omp_sp_3d_c2r.h.
fft_plan_t ifft_omp_sp_plan_3d_c2r | ( | int | N1, |
int | N2, | ||
int | N3, | ||
int | mode, | ||
fft_callout_t | fxns | ||
) |
This function sets up the parameters for each dimension and the algorithm to utilize.
N1 | = FFT size dimension 1 |
N2 | = FFT size dimension 2 |
N3 | = FFT size dimension 3 |
mode | = Only FFT_ECPY is supported for 3d FFT |
int ifft_omp_sp_3d_c2r_ecpy | ( | fft_param_u | u, |
void * | edmaState | ||
) |
This program performs one 3-dimensional single-precision real-to-complex IFFT utilizing multi-processing.
N1 | = FFT size dimension 1 |
N2 | = FFT size dimension 2 |
N3 | = FFT size dimension 3 |
para1 | = Twiddle, mixed radix & bluestein parameters for dimension 1 |
para2 | = Twiddle, mixed radix & bluestein parameters for dimension 2 |
para3 | = Twiddle, mixed radix & bluestein parameters for dimension 3 |
data | = input/output pointer |
workbuf | = working pointer |
data_w | = input/output buffer pointer |
workbuf_w | = working buffer pointer |
workbuf_t | = Cache line buffer pointer |
tw | = twiddle pointer |
tw_w | = twiddle buffer pointer |
Bn | = Bluestein pointer |
Bn_w | = Bluestein buffer pointer |
workbuf_bn | = Bluestein scratch pointer |
para1
& para2
are determined at runtime and will depend upon type of FFT desired, radix 3 & 5, radix 2 & 4, or bluestein.