vdsinqf
vdsinqf - compute the Fourier coefficients in a sine series representation with only
odd wave numbers. The VSINQ operations are
normalized, so a call of
VSINQF followed by a call of VSINQB will return the original sequence.
SUBROUTINE VDSINQF( M, N, X, XT, MDIMX, WSAVE)
INTEGER M, N, MDIMX
DOUBLE PRECISION X(MDIMX,*), XT(MDIMX,*), WSAVE(*)
SUBROUTINE VDSINQF_64( M, N, X, XT, MDIMX, WSAVE)
INTEGER*8 M, N, MDIMX
DOUBLE PRECISION X(MDIMX,*), XT(MDIMX,*), WSAVE(*)
SUBROUTINE SINQF( [M], [N], X, XT, [MDIMX], WSAVE)
INTEGER :: M, N, MDIMX
REAL(8), DIMENSION(:) :: WSAVE
REAL(8), DIMENSION(:,:) :: X, XT
SUBROUTINE SINQF_64( [M], [N], X, XT, [MDIMX], WSAVE)
INTEGER(8) :: M, N, MDIMX
REAL(8), DIMENSION(:) :: WSAVE
REAL(8), DIMENSION(:,:) :: X, XT
#include <sunperf.h>
void vdsinqf(int m, int n, double *x, double *xt, int mdimx, double *wsave);
void vdsinqf_64(long m, long n, double *x, double *xt, long mdimx, double *wsave);
-
* M (input)
-
The number of sequences to be transformed. M >= 0.
-
* 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. For VSINQF, a real two-dimensional array with dimensions
of (MDIMX x N) whose rows contain the sequences to be transformed. On exit,
the quarter-wave sine transform of the input.
-
* XT (input)
-
A real two-dimensional work array with dimensions of (MDIMX x N).
-
* MDIMX (input)
-
Leading dimension of the arrays X and XT as specified in a dimension or
type statement.
MDIMX >= M.
-
* WSAVE (input)
-
On entry, an array with dimension of at least (2 * N + 15),
initialized by VSINQI.