S3DFFT,D3DFFT(3) MathKeisan FFT routine S3DFFT,D3DFFT(3)
NAME
s3dfft, d3dfft - three-dimensional FFT - real storage mode.
(OpenMP Parallel Support).
SYNOPSIS
libfft.a
INTEGER l1, l2, l3, ldxy, mdxy, iopt, ier
REAL x(ldxy, mdxy, l3), y(ldxy, mdxy, l3)
CALL S3DFFT (x, y, l1, l2, l3, ldxy, mdxy, iopt, ier)
INTEGER l1, l2, l3, ldxy, mdxy, iopt, ier
REAL(kind=8) x(ldxy, mdxy, l3), y(ldxy, mdxy, l3)
CALL D3DFFT (x, y, l1, l2, l3, ldxy, mdxy, iopt, ier)
libfft_64.a
INTEGER(kind=8) l1, l2, l3, ldxy, mdxy, iopt, ier
REAL(kind=8) x(ldxy, mdxy, l3), y(ldxy, mdxy, l3)
CALL S3DFFT (x, y, l1, l2, l3, ldxy, mdxy, iopt, ier)
INTEGER(kind=8) l1, l2, l3, ldxy, mdxy, iopt, ier
REAL(kind=8) x(ldxy, mdxy, l3), y(ldxy, mdxy, l3)
CALL D3DFFT (x, y, l1, l2, l3, ldxy, mdxy, iopt, ier)
DESCRIPTION
Given a set of complex data with real and imaginary parts in separate
real arrays, these subprograms compute the three-dimensional forward or
inverse discrete Fourier transform using a mixed-radix fast Fourier
transform (FFT) algorithm.
A pair of companion subprograms, C3DFFT and Z3DFFT, performs the same
operation, but with the complex data presented in a complex array.
Set the OpenMp environmental variable OMP_NUM_THREADS to the number of
threads you would like to use.
ARGUMENTS
Input
x Array of real parts of the data to be transformed.
y Array of imaginary parts of the data to be transformed.
l1 Number of rows of data (l1>0).
l2 Number of columns of data (l2>0).
l3 Number of planes of data (l3>0).
ldxy The leading dimension of arrays x and y, with ldxy >= l1.
mdxy The middle dimension of arrays x and y, with mdxy >= l2.
iopt Option flag:
iopt >= 0 Compute forward transform.
iopt < 0 Compute inverse transform.
Output
x and y
The transformed data replaces the input if ier = 0 is returned.
ier Status response:
ier = 0 Normal return - transform successful.
ier = -1 l1 < 1.
ier = -2 l2 < 1.
ier = -3 l3 < 1.
ier = -4 ldxy < l1.
ier = -5 mdxy < l2.
MLIB routine S3DFFT,D3DFFT(3)