Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

vcfftb (3p)

Name

vcfftb - compute a periodic sequence from its Fourier coefficients. The VCFFT operations are normalized, so a call of VCFFTF followed by a call of VCFFTB will return the original sequence.

Synopsis

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 row-
col, complex *wsave);

void vcfftb_64(long m, long n, complex *x,  complex  *xt,  long  mdimx,
char rowcol, complex *wsave);

Description

Oracle Solaris Studio Performance Library                           vcfftb(3P)



NAME
       vcfftb  -  compute  a  periodic sequence from its Fourier coefficients.
       The VCFFT operations are normalized, so a call of VCFFTF followed by  a
       call of VCFFTB will return the original sequence.


SYNOPSIS
       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 row-
                 col, complex *wsave);

       void vcfftb_64(long m, long n, complex *x,  complex  *xt,  long  mdimx,
                 char rowcol, complex *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 VCFFTI.



                                  7 Nov 2015                        vcfftb(3P)