subroutine dcosti (n,wsave) double precision wsave(1), dt, fk, pi data pi / 3.141592653 5897932384 6264338327 950 d0 / c if (n .le. 3) return c nm1 = n-1 np1 = n+1 ns2 = n/2 dt = pi/dfloat(nm1) fk = 0.d0 do 101 k=2,ns2 kc = np1-k fk = fk+1.d0 wsave(k) = 2.d0*dsin(fk*dt) wsave(kc) = 2.d0*dcos(fk*dt) 101 continue c call drffti (nm1,wsave(n+1)) c return end