vcosti(l) — SunSoft Performance Library
NAME
vcosti - initialize the array xWSAVE, which is used in xCOST.
SYNOPSIS
CALL COSTI (N, RWSAVE)
CALL DCOSTI (N, DWSAVE)
CALL VCOSTI (N, RWSAVE)
CALL VDCOSTI (N, DWSAVE)
ARGUMENTS
NLength of the sequence to be transformed. The method is most efficient when N - 1 is a product of
small primes. N >= 2.
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 xCOST 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, X(N), WSAVE(3 ∗ N + 15)
C
EXTERNAL COST, COSTI
INTRINSIC ACOS, COS
C
C Initialize the array X to an even sequence, that is, it can be
C expanded in terms of a trigonometric series that contains only
C cosine terms.
C
PI = ACOS (-1.0)
DO 100, I=1, N
X(I) = COS ((I - 1.0) ∗ 2.0 ∗ PI / (N - 1.0))
100 CONTINUE
C
CALL COSTI (N, WSAVE)
PRINT 1000
PRINT 1010, (X(I), I = 1, N)
CALL COST (N, X, WSAVE)
PRINT 1020
PRINT 1010, (X(I), I = 1, N)
CALL COST (N, X, WSAVE)
PRINT 1030
PRINT 1010, (X(I), I = 1, N)
C
1000 FORMAT (1X, ’Original Sequence: ’)
1010 FORMAT (1X, 100(F5.1, 1X))
1020 FORMAT (1X, ’Transformed Sequence: ’)
1030 FORMAT (1X, ’Recovered Sequence: ’)
END
SAMPLE OUTPUT
Original Sequence:
1.0 0.7 0.0 -0.7 -1.0 -0.7 0.0 0.7 1.0
Transformed Sequence:
0.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0
Recovered Sequence:
16.0 11.3 0.0 -11.3 -16.0 -11.3 0.0 11.3 16.0
SunSoft, Inc. — Last change: 27 Jun 1995