vzfftb


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)
The number of sequences to be transformed. M >= 0.

* N (input)
Length of the sequence to be transformed. These subroutines are most efficient when N is a product of small primes. N >= 0.

* X (input)
On entry, the rows contain the sequences to be transformed.

* XT (input)
A work array.

* MDIMX (input)
Leading dimension of the arrays X and XT as specified 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 (K+15) or greater, where K = M if ROWCOL = ('R' or 'r'). Otherwise, K = N. WSAVE is initialized by VZFFTI.