Contents
vcfftb - compute a periodic sequence from its Fourier coef-
ficients. The VCFFT operations are normalized, so a call of
VCFFTF followed by a call of VCFFTB will return the original
sequence.
SUBROUTINE VCFFTB(M, N, X, XT, MDIMX, ROWCOL, WSAVE)
CHARACTER * 1 ROWCOL
COMPLEX X(MDIMX,*), XT(MDIMX,*), WSAVE(*)
INTEGER M, N, MDIMX
SUBROUTINE VCFFTB_64(M, N, X, XT, MDIMX, ROWCOL, WSAVE)
CHARACTER * 1 ROWCOL
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, DIMENSION(:) :: WSAVE
COMPLEX, DIMENSION(:,:) :: X, XT
INTEGER :: M, N, MDIMX
SUBROUTINE FFTB_64([M], [N], X, XT, [MDIMX], ROWCOL, WSAVE)
CHARACTER(LEN=1) :: ROWCOL
COMPLEX, DIMENSION(:) :: WSAVE
COMPLEX, DIMENSION(:,:) :: X, XT
INTEGER(8) :: M, N, MDIMX
C INTERFACE
#include <sunperf.h>
void vcfftb(int m, int n, complex *x, complex *xt, int
mdimx, char rowcol, complex *wsave);
void vcfftb_64(long m, long n, complex *x, complex *xt, long
mdimx, char rowcol, complex *wsave);
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) On entry, if ROWCOL = 'R' or 'r' X(MDIMX,N) is an
array whose first M rows contain the sequences to
be transformed. Otherwise, X(MDIMX,N) contains
data sequences of length M stored in N columns of
X.
XT (input)
A work array. The size of this workspace depends
on the number of threads that are used to execute
this routine. There are various functions that
can be used to determine the number 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 statically, 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 speci-
fied in a dimension or type statement. MDIMX >=
M.
ROWCOL (input)
Indicates whether to transform rows ('R' or 'r')
or columns ('C' or 'c').
WSAVE (input/output)
On entry, an array of dimension (L2+15) or
greater, where L2 = 2*M if ROWCOL = ('R' or 'r').
Otherwise, L2 = 2*N. WSAVE is initialized by
VCFFTI.