NAME
dsinti - initialize the array xWSAVE, which is used in sub-
routine xSINT.
SYNOPSIS
SUBROUTINE SINTI (N, RWSAVE)
SUBROUTINE DSINTI (N, DWSAVE)
SUBROUTINE VSINTI (N, WSAVE)
SUBROUTINE VDSINTI (N, WSAVE)
#include <sunperf.h>
void sinti (int n, float *rwsave) ;
void dsinti (int n, double *dwsave) ;
void vsinti (int n, float *rwsave) ;
void vdsinti (int n, float *dwsave) ;
ARGUMENTS
N Length of the sequence to be transformed. N >= 0.
xWSAVE On entry, an array with a dimension of at least (3
* N + 15). Different xWSAVE arrays are required
for different values of N. This initialization
does not have to be repeated between calls to
xSINT as long as N and xWSAVE remain unchanged,
thus subsequent transforms can be obtained faster
than the first.
SAMPLE PROGRAM
PROGRAM TEST
IMPLICIT NONE
C
INTEGER N
PARAMETER (N = 9)
C
INTEGER I
REAL PI, WSAVE(3 * N + 15), X(N)
C
EXTERNAL SINT, SINTI
INTRINSIC ACOS, SIN
C
C Initialize the array X to an odd sequence, that is, it can be
C expanded in terms of a trigonometric series that contains only
C sine terms.
C
PI = ACOS (-1.0)
DO 100, I=1, N
X(I) = SIN ( I * 2.0 * PI / (N + 1.0))
100 CONTINUE
C
PRINT 1000
PRINT 1010, (X(I), I = 1, N)
CALL SINTI (N, WSAVE)
CALL SINT (N, X, WSAVE)
PRINT 1020
PRINT 1010, (X(I), I = 1, N)
CALL SINT (N, X, WSAVE)
PRINT 1030
PRINT 1010, (X(I), I = 1, N)
C
1000 FORMAT (1X, 'Original Sequence: ')
1010 FORMAT (1X, 100(F7.3, 1X))
1020 FORMAT (1X, 'Transformed Sequence: ')
1030 FORMAT (1X, 'Recovered Sequence: ')
C
END
SAMPLE OUTPUT
Original Sequence:
0.588 0.951 0.951 0.588 0.000 -0.588 -0.951 -
0.951 -0.588
Transformed Sequence:
0.000 10.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000
Recovered Sequence:
11.756 19.021 19.021 11.756 0.000 -11.756 -19.021
-19.021 -11.756
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |