cost


NAME

cost - compute the discrete Fourier cosine transform of an even sequence. The COST transforms are unnormalized inverses of themselves, so a call of COST followed by another call of COST will multiply the input sequence by 2 * (N-1).


SYNOPSIS

  SUBROUTINE COST( N, X, WSAVE)
  INTEGER N
  REAL X(*), WSAVE(*)
 
  SUBROUTINE COST_64( N, X, WSAVE)
  INTEGER*8 N
  REAL X(*), WSAVE(*)
 

F95 INTERFACE

  SUBROUTINE COST( [N], X, WSAVE)
  INTEGER :: N
  REAL, DIMENSION(:) :: X, WSAVE
 
  SUBROUTINE COST_64( [N], X, WSAVE)
  INTEGER(8) :: N
  REAL, DIMENSION(:) :: X, WSAVE
 

C INTERFACE

#include <sunperf.h>

void cost(int n, float *x, float *wsave);

void cost_64(long n, float *x, float *wsave);


ARGUMENTS

* 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. On exit, the cosine transform of the input.

* WSAVE (input)
On entry, an array with dimension of at least (3 * N + 15), initialized by COSTI.