SUBROUTINE VCOSQI(N,WSAVE) C***BEGIN PROLOGUE VCOSQI C***DATE WRITTEN 860701 (YYMMDD) C***REVISION DATE 900509 (YYMMDD) C***CATEGORY NO. J1A3 C***KEYWORDS FAST FOURIER TRANSFORM, COSINE TRANSFORM, ODD WAVE C NUMBERS, MULTIPLE SEQUENCES C***AUTHOR BOISVERT, R. F. (NIST) C***PURPOSE Initialize for VCOSQF and VCOSQB. C***DESCRIPTION C C Subroutine VCOSQI initializes the array WSAVE which is used in C both VCOSQF and VCOSQB. The prime factorization of N together with C a tabulation of the trigonometric functions are computed and C stored in WSAVE. C C Input Parameter C C N the length of the array to be transformed. The method C is most efficient when N is a product of small primes. C C Output Parameter C C WSAVE a work array which must be dimensioned at least 2*N+15. C The same work array can be used for both VCOSQF and VCOSQB C as long as N remains unchanged. Different WSAVE arrays C are required for different values of N. The contents of C WSAVE must not be changed between calls of VCOSQF or VCOSQB. C C***REFERENCES P. N. Swarztrauber, Vectorizing the FFTs, in Parallel C Computations, (G. Rodrigue, ed.), Academic Press, 1982, C pp. 51-83. C***ROUTINES CALLED VRFFTI C***END PROLOGUE VCOSQI DIMENSION WSAVE(*) C***FIRST EXECUTABLE STATEMENT VCOSQI PIH = 0.5*PIMACH(1.0) DT = PIH/REAL(N) FK = 0. DO 101 K=1,N FK = FK+1. WSAVE(K) = COS(FK*DT) 101 CONTINUE CALL VRFFTI (N,WSAVE(N+1)) RETURN END