dsint


NAME

dsint - compute the discrete Fourier sine transform of an odd sequence. The SINT transforms are unnormalized inverses of themselves, so a call of SINT followed by another call of SINT will multiply the input sequence by 2 * (N+1).


SYNOPSIS

  SUBROUTINE DSINT( N, X, WSAVE)
  INTEGER N
  DOUBLE PRECISION X(*), WSAVE(*)
 
  SUBROUTINE DSINT_64( N, X, WSAVE)
  INTEGER*8 N
  DOUBLE PRECISION X(*), WSAVE(*)
 

F95 INTERFACE

  SUBROUTINE SINT( [N], X, WSAVE)
  INTEGER :: N
  REAL(8), DIMENSION(:) :: X, WSAVE
 
  SUBROUTINE SINT_64( [N], X, WSAVE)
  INTEGER(8) :: N
  REAL(8), DIMENSION(:) :: X, WSAVE
 

C INTERFACE

#include <sunperf.h>

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

void dsint_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 >= 0.

* X (input/output)
On entry, an array of length N containing the sequence to be transformed. On exit, the sine transform of the input.

* WSAVE (input/output)
On entry, an array with dimension of at least int(2.5 * N + 15) initialized by SINTI.