vzfftb(3P) Sun Performance Library vzfftb(3P)NAMEvzfftb - compute a periodic sequence from its Fourier coefficients.
The VZFFT operations are normalized, so a call of VZFFTF followed by a
call of VZFFTB will return the original sequence.
SYNOPSIS
SUBROUTINE VZFFTB(M, N, X, XT, MDIMX, ROWCOL, WSAVE)
CHARACTER * 1 ROWCOL
DOUBLE COMPLEX X(MDIMX,*), XT(MDIMX,*), WSAVE(*)
INTEGER M, N, MDIMX
SUBROUTINE VZFFTB_64(M, N, X, XT, MDIMX, ROWCOL, WSAVE)
CHARACTER * 1 ROWCOL
DOUBLE COMPLEX X(MDIMX,*), XT(MDIMX,*), WSAVE(*)
INTEGER*8 M, N, MDIMX
F95 INTERFACE
SUBROUTINE FFTB([M], [N], X, XT, [MDIMX], ROWCOL, WSAVE)
CHARACTER(LEN=1) :: ROWCOL
COMPLEX(8), DIMENSION(:) :: WSAVE
COMPLEX(8), DIMENSION(:,:) :: X, XT
INTEGER :: M, N, MDIMX
SUBROUTINE FFTB_64([M], [N], X, XT, [MDIMX], ROWCOL, WSAVE)
CHARACTER(LEN=1) :: ROWCOL
COMPLEX(8), DIMENSION(:) :: WSAVE
COMPLEX(8), DIMENSION(:,:) :: X, XT
INTEGER(8) :: M, N, MDIMX
C INTERFACE
#include <sunperf.h>
void vzfftb(int m, int n, doublecomplex *x, doublecomplex *xt, int
mdimx, char rowcol, doublecomplex *wsave);
void vzfftb_64(long m, long n, doublecomplex *x, doublecomplex *xt,
long mdimx, char rowcol, doublecomplex *wsave);
ARGUMENTS
M (input) If ROWCOL = 'R' or 'r', M is the number of sequences to be
transformed. Otherwise, M is the length of the sequences to
be transformed. M >= 0.
N (input) If ROWCOL = 'R' or 'r', N is the length of the sequences to
be transformed. Otherwise, N is the number of sequences to
be transformed. N >= 0.
X (input/output)
On entry, if ROWCOL = 'R' or 'r' X(MDIMX,N) is an array whose
first M rows contain the sequences to be transformed. Other‐
wise, X(MDIMX,N) contains data sequences of length M stored
in N columns of X.
XT (workspace)
A work array. The size of this workspace depends on the num‐
ber of threads that are used to execute this routine. There
are various functions that can be used to determine the num‐
ber of threads available (get_env, available_threads, etc).
The appropriate amount, which is (number of threads * length
of data sequences), can then be dynamically allocated for XT
from the driver routine. If XT can only be allocated stati‐
cally, then the size of XT should be (length of data
sequences * number of sequences).
MDIMX (input)
Leading dimension of the arrays X and XT as specified in a
dimension or type statement. MDIMX >= M.
ROWCOL (input)
Indicates whether data sequences in X are stored row-wise
('R' or 'r') or column-wise ('C' or 'c').
WSAVE (input)
On entry, an array of dimension (K+15) or greater, where K =
M if ROWCOL = ('R' or 'r'). Otherwise, K = N. WSAVE is ini‐
tialized by VZFFTI.
6 Mar 2009 vzfftb(3P)