SFFT_INIT_3D(3dxml) — Subroutines
Name
sfft_init_3d, dfft_init_3d, cfft_init_3d, zfft_init_3d − Initialization step for fast fourier transform in three dimension
FORMAT
status = {S,D,C,Z}FFT_INIT_3D (ni, nj, nk, fft_struct, ni_stride_1_flag)
Arguments
ni, nj, nkinteger∗4
Specifies the size of the first, second, and third dimension of data in the input array; ni > 0, nj > 0, nk > 0. For SFFT_INIT_3D and DFFT_INIT_3D, ni must be even.
fft_structrecord /dxml$s_fft_structure_3d/ for single-precision real operations
record /dxml$d_fft_structure_3d/ for double-precision real operations
record /dxml$c_fft_structure_3d/ for single-precision complex operations
record /dxml$z_fft_structure_3d/ for double-precision complex operations
This argument must be included but needs no additional definitions. The argument is declared in the program before this routine. See <REFERENCE>(fft_struct_sec) for more information.
ni_stride_1_flaglogical
Specifies whether to allow a stride of more than 1 between elements in the row:
TRUE: Stride must be 1.
FALSE: Stride is at least 1.
Description
The _FFT_INIT_3D functions build internal data structures needed to compute fast Fourier transforms of three-dimensional data. These routines are the first step in a three-step procedure. They create the internal data structures, using attributes defined in the file DXMLDEF.FOR.
Use the initialization routine that is appropriate for the data format. Then, use the corresponding application and exit steps to complete the procedure. For example, use the SFFT_3D_INIT routine with the SFFT_3D_APPLY and SFFT_3D_EXIT routine.
Return Values
0DXML$_SUCCESS()
4 (real transform only)
DXML$_ILL_N_IS_ODD()
8DXML$_ILL_N_RANGE()
12DXML$_INS_RES()