Contents
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.
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);
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.