dcost


NAME

dcost - 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 DCOST( N, X, WSAVE)
  INTEGER N
  DOUBLE PRECISION X(*), WSAVE(*)
 
  SUBROUTINE DCOST_64( N, X, WSAVE)
  INTEGER*8 N
  DOUBLE PRECISION X(*), WSAVE(*)
 

F95 INTERFACE

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

C INTERFACE

#include <sunperf.h>

void dcost(int n, double *x, double *wsave);

void dcost_64(long n, double *x, double *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 DCOSTI.