cosqb


NAME

cosqb - synthesize a Fourier sequence from its representation in terms of a cosine series with odd wave numbers. The COSQ operations are unnormalized inverses of themselves, so a call to COSQF followed by a call to COSQB will multiply the input sequence by 4 * N.


SYNOPSIS

  SUBROUTINE COSQB( N, X, WSAVE)
  INTEGER N
  REAL X(*), WSAVE(*)
 
  SUBROUTINE COSQB_64( N, X, WSAVE)
  INTEGER*8 N
  REAL X(*), WSAVE(*)
 

F95 INTERFACE

  SUBROUTINE COSQB( [N], X, WSAVE)
  INTEGER :: N
  REAL, DIMENSION(:) :: X, WSAVE
 
  SUBROUTINE COSQB_64( [N], X, WSAVE)
  INTEGER(8) :: N
  REAL, DIMENSION(:) :: X, WSAVE
 

C INTERFACE

#include <sunperf.h>

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

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


ARGUMENTS

* 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/output)
On entry, an array of length N containing the sequence to be transformed. On exit, the quarter-wave cosine synthesis of the input.

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