vsinti(l) — SunSoft Performance Library
NAME
vsinti - initialize the array xWSAVE, which is used in subroutine xSINT.
SYNOPSIS
CALL SINTI (N, RWSAVE)
CALL DSINTI (N, DWSAVE)
CALL VSINTI (N, WSAVE)
CALL VDSINTI (N, WSAVE)
ARGUMENTS
NLength of the sequence to be transformed. N >= 0.
xWSAVEOn 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
SunSoft, Inc. — Last change: 27 Jun 1995