dfft3i - initialize the array WSAVE, which is used in both DFFT3F and DFFT3B.
SUBROUTINE DFFT3I( M, N, K, WORK)
INTEGER M, N, K
DOUBLE PRECISION WORK(*)
SUBROUTINE DFFT3I_64( M, N, K, WORK)
INTEGER*8 M, N, K
DOUBLE PRECISION WORK(*)
SUBROUTINE FFT3I( M, N, K, WORK)
INTEGER :: M, N, K
REAL(8), DIMENSION(:) :: WORK
SUBROUTINE FFT3I_64( M, N, K, WORK)
INTEGER(8) :: M, N, K
REAL(8), DIMENSION(:) :: WORK
#include <sunperf.h>
void dfft3i(int m, int n, int k, double *work);
void dfft3i_64(long m, long n, long k, double *work);
- M (input)
Number of rows to be transformed. M > = 0.
- N (input)
Number of columns to be transformed. N > = 0.
- K (input)
Number of planes to be transformed. K > = 0.
- WORK (input/output)
On entry, an array of dimension (M + 2*(N + K) + 30) or greater.
DFFT3I needs to be called only once to initialize array WORK before calling
DFFT3F and/or DFFT3B if M, N, K and WORK remain unchanged between these calls.
Thus, subsequent transforms or inverse transforms of same size can be obtained
faster than the first since they do not require initialization of the workspace.