vdsint - compute the discrete Fourier sine transform of an odd sequence. The VSINT transforms are unnormalized inverses of them- selves, so a call of VSINT followed by another call of VSINT will mul- tiply the input sequence by 2 * (N+1). The VSINT transforms are nor- malized, so a call of VSINT followed by a call of VSINT will return the original sequence.
SUBROUTINE VDSINT(M, N, X, XT, MDIMX, WSAVE) INTEGER M, N, MDIMX DOUBLE PRECISION X(MDIMX,*), XT(MDIMX,*), WSAVE(*) SUBROUTINE VDSINT_64(M, N, X, XT, MDIMX, WSAVE) INTEGER*8 M, N, MDIMX DOUBLE PRECISION X(MDIMX,*), XT(MDIMX,*), WSAVE(*) F95 INTERFACE SUBROUTINE SINT(M, N, X, XT, MDIMX, WSAVE) INTEGER :: M, N, MDIMX REAL(8), DIMENSION(:) :: WSAVE REAL(8), DIMENSION(:,:) :: X, XT SUBROUTINE SINT_64(M, N, X, XT, MDIMX, WSAVE) INTEGER(8) :: M, N, MDIMX REAL(8), DIMENSION(:) :: WSAVE REAL(8), DIMENSION(:,:) :: X, XT C INTERFACE #include <sunperf.h> void vdsint(int m, int n, double *x, double *xt, int mdimx, double *wsave); void vdsint_64(long m, long n, double *x, double *xt, long mdimx, dou- ble *wsave);
Oracle Solaris Studio Performance Library vdsint(3P) NAME vdsint - compute the discrete Fourier sine transform of an odd sequence. The VSINT transforms are unnormalized inverses of them- selves, so a call of VSINT followed by another call of VSINT will mul- tiply the input sequence by 2 * (N+1). The VSINT transforms are nor- malized, so a call of VSINT followed by a call of VSINT will return the original sequence. SYNOPSIS SUBROUTINE VDSINT(M, N, X, XT, MDIMX, WSAVE) INTEGER M, N, MDIMX DOUBLE PRECISION X(MDIMX,*), XT(MDIMX,*), WSAVE(*) SUBROUTINE VDSINT_64(M, N, X, XT, MDIMX, WSAVE) INTEGER*8 M, N, MDIMX DOUBLE PRECISION X(MDIMX,*), XT(MDIMX,*), WSAVE(*) F95 INTERFACE SUBROUTINE SINT(M, N, X, XT, MDIMX, WSAVE) INTEGER :: M, N, MDIMX REAL(8), DIMENSION(:) :: WSAVE REAL(8), DIMENSION(:,:) :: X, XT SUBROUTINE SINT_64(M, N, X, XT, MDIMX, WSAVE) INTEGER(8) :: M, N, MDIMX REAL(8), DIMENSION(:) :: WSAVE REAL(8), DIMENSION(:,:) :: X, XT C INTERFACE #include <sunperf.h> void vdsint(int m, int n, double *x, double *xt, int mdimx, double *wsave); void vdsint_64(long m, long n, double *x, double *xt, long mdimx, dou- ble *wsave); ARGUMENTS 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+1 is a product of small primes. N >= 0. X (input/output) On entry, a real two-dimensional array with dimensions of (MDIMX x (N+1)) whose rows contain the sequences to be trans- formed. On exit, the sine transform of the input. XT (input/output) A real two-dimensional work array with dimensions of (MDIMX x (N+1)). 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 int(2.5 * N + 15) initialized by VSINTI. 7 Nov 2015 vdsint(3P)