dsinqb


NAME

dsinqb - synthesize a Fourier sequence from its representation in terms of a sine series with odd wave numbers. The SINQ operations are unnormalized inverses of themselves, so a call to SINQF followed by a call to SINQB will multiply the input sequence by 4 * N.


SYNOPSIS

  SUBROUTINE DSINQB( N, X, WSAVE)
  INTEGER N
  DOUBLE PRECISION X(*), WSAVE(*)
 
  SUBROUTINE DSINQB_64( N, X, WSAVE)
  INTEGER*8 N
  DOUBLE PRECISION X(*), WSAVE(*)
 

F95 INTERFACE

  SUBROUTINE SINQB( [N], X, WSAVE)
  INTEGER :: N
  REAL(8), DIMENSION(:) :: X, WSAVE
 
  SUBROUTINE SINQB_64( [N], X, WSAVE)
  INTEGER(8) :: N
  REAL(8), DIMENSION(:) :: X, WSAVE
 

C INTERFACE

#include <sunperf.h>

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

void dsinqb_64(long n, double *x, double *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 sine synthesis of the input.

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