Contents


NAME

     vcost - compute the discrete Fourier cosine transform of  an
     even sequence.  The VCOST transform is normalized, so a call
     of VCOST followed by a call of VCOST will return the  origi-
     nal sequence.

SYNOPSIS

     SUBROUTINE VCOST(M, N, X, XT, MDIMX, WSAVE)

     INTEGER M, N, MDIMX
     REAL X(MDIMX,*), XT(MDIMX,*), WSAVE(*)

     SUBROUTINE VCOST_64(M, N, X, XT, MDIMX, WSAVE)

     INTEGER*8 M, N, MDIMX
     REAL X(MDIMX,*), XT(MDIMX,*), WSAVE(*)

  F95 INTERFACE
     SUBROUTINE COST([M], [N], X, XT, [MDIMX], WSAVE)

     INTEGER :: M, N, MDIMX
     REAL, DIMENSION(:) :: WSAVE
     REAL, DIMENSION(:,:) :: X, XT

     SUBROUTINE COST_64([M], [N], X, XT, [MDIMX], WSAVE)

     INTEGER(8) :: M, N, MDIMX
     REAL, DIMENSION(:) :: WSAVE
     REAL, DIMENSION(:,:) :: X, XT

  C INTERFACE
     #include <sunperf.h>

     void vcost(int m, int n, float *x,  float  *xt,  int  mdimx,
               float *wsave);

     void vcost_64(long m, long n,  float  *x,  float  *xt,  long
               mdimx, float *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 - 1 is a
               product of small primes.  N >= 2.

     X (input/output)
               On entry, an array  of  length  N  containing  the
               sequence  to  be  transformed.   For VCOST, a real
               two- dimensional array with dimensions of (MDIMX x
               (N+1))  whose  rows  contain  the  sequences to be
               transformed.  On exit, the cosine transform of the
               input.

     XT (input)
               A real two-dimensional work array with  dimensions
               of (MDIMX x (N-1)).

     MDIMX (input)
               Leading dimension of the arrays X and XT as speci-
               fied  in  a dimension or type statement.  MDIMX >=
               M.

     WSAVE (input)
               On entry, an array of dimension (2 * N  +  15)  or
               greater initialized by VCOSTI.