Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

vzfftb (3p)

Name

vzfftb - 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);

Description

Oracle Solaris Studio Performance Library                           vzfftb(3P)



NAME
       vzfftb  -  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.



                                  7 Nov 2015                        vzfftb(3P)