1 subroutine z1f4kb ( ido, l1, na, cc, in1, ch, in2, wa )
3 !*****************************************************************************80
5 !! Z1F4KB is an FFTPACK5 auxiliary routine.
15 ! Original complex single precision by Paul Swarztrauber, Richard Valent.
16 ! Complex double precision version by John Burkardt.
21 ! Vectorizing the Fast Fourier Transforms,
22 ! in Parallel Computations,
23 ! edited by G. Rodrigue,
24 ! Academic Press, 1982.
27 ! Fast Fourier Transform Algorithms for Vector Computers,
28 ! Parallel Computing, pages 45-63, 1984.
34 integer ( kind = 4 ) ido
35 integer ( kind = 4 ) in1
36 integer ( kind = 4 ) in2
37 integer ( kind = 4 ) l1
39 real ( kind = 8 ) cc(in1,l1,ido,4)
40 real ( kind = 8 ) ch(in2,l1,4,ido)
47 integer ( kind = 4 ) i
48 integer ( kind = 4 ) k
49 integer ( kind = 4 ) na
58 real ( kind = 8 ) wa(ido,3,2)
60 if ( 1 < ido .or. na == 1 ) then
63 ti1 = cc(2,k,1,1)-cc(2,k,1,3)
64 ti2 = cc(2,k,1,1)+cc(2,k,1,3)
65 tr4 = cc(2,k,1,4)-cc(2,k,1,2)
66 ti3 = cc(2,k,1,2)+cc(2,k,1,4)
67 tr1 = cc(1,k,1,1)-cc(1,k,1,3)
68 tr2 = cc(1,k,1,1)+cc(1,k,1,3)
69 ti4 = cc(1,k,1,2)-cc(1,k,1,4)
70 tr3 = cc(1,k,1,2)+cc(1,k,1,4)
83 ti1 = cc(2,k,i,1)-cc(2,k,i,3)
84 ti2 = cc(2,k,i,1)+cc(2,k,i,3)
85 ti3 = cc(2,k,i,2)+cc(2,k,i,4)
86 tr4 = cc(2,k,i,4)-cc(2,k,i,2)
87 tr1 = cc(1,k,i,1)-cc(1,k,i,3)
88 tr2 = cc(1,k,i,1)+cc(1,k,i,3)
89 ti4 = cc(1,k,i,2)-cc(1,k,i,4)
90 tr3 = cc(1,k,i,2)+cc(1,k,i,4)
100 ch(1,k,2,i) = wa(i,1,1)*cr2-wa(i,1,2)*ci2
101 ch(2,k,2,i) = wa(i,1,1)*ci2+wa(i,1,2)*cr2
102 ch(1,k,3,i) = wa(i,2,1)*cr3-wa(i,2,2)*ci3
103 ch(2,k,3,i) = wa(i,2,1)*ci3+wa(i,2,2)*cr3
104 ch(1,k,4,i) = wa(i,3,1)*cr4-wa(i,3,2)*ci4
105 ch(2,k,4,i) = wa(i,3,1)*ci4+wa(i,3,2)*cr4
113 ti1 = cc(2,k,1,1)-cc(2,k,1,3)
114 ti2 = cc(2,k,1,1)+cc(2,k,1,3)
115 tr4 = cc(2,k,1,4)-cc(2,k,1,2)
116 ti3 = cc(2,k,1,2)+cc(2,k,1,4)
117 tr1 = cc(1,k,1,1)-cc(1,k,1,3)
118 tr2 = cc(1,k,1,1)+cc(1,k,1,3)
119 ti4 = cc(1,k,1,2)-cc(1,k,1,4)
120 tr3 = cc(1,k,1,2)+cc(1,k,1,4)
121 cc(1,k,1,1) = tr2+tr3
122 cc(1,k,1,3) = tr2-tr3
123 cc(2,k,1,1) = ti2+ti3
124 cc(2,k,1,3) = ti2-ti3
125 cc(1,k,1,2) = tr1+tr4
126 cc(1,k,1,4) = tr1-tr4
127 cc(2,k,1,2) = ti1+ti4
128 cc(2,k,1,4) = ti1-ti4