dfft3i


NAME

dfft3i - initialize the array WSAVE, which is used in both DFFT3F and DFFT3B.


SYNOPSIS

  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(*)
 

F95 INTERFACE

  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
 

C INTERFACE

#include <sunperf.h>

void dfft3i(int m, int n, int k, double *work);

void dfft3i_64(long m, long n, long k, double *work);


ARGUMENTS

* 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.