1 subroutine c1f4kb ( ido, l1, na, cc, in1, ch, in2, wa )
3 !*****************************************************************************80
5 !! C1F4KB is an FFTPACK5 auxiliary routine.
8 ! Copyright (C) 1995-2004, Scientific Computing Division,
9 ! University Corporation for Atmospheric Research
23 ! Vectorizing the Fast Fourier Transforms,
24 ! in Parallel Computations,
25 ! edited by G. Rodrigue,
26 ! Academic Press, 1982.
29 ! Fast Fourier Transform Algorithms for Vector Computers,
30 ! Parallel Computing, pages 45-63, 1984.
36 integer ( kind = 4 ) ido
37 integer ( kind = 4 ) in1
38 integer ( kind = 4 ) in2
39 integer ( kind = 4 ) l1
41 real ( kind = 4 ) cc(in1,l1,ido,4)
42 real ( kind = 4 ) ch(in2,l1,4,ido)
49 integer ( kind = 4 ) i
50 integer ( kind = 4 ) k
51 integer ( kind = 4 ) na
60 real ( kind = 4 ) wa(ido,3,2)
62 if ( 1 < ido .or. na == 1 ) then
65 ti1 = cc(2,k,1,1)-cc(2,k,1,3)
66 ti2 = cc(2,k,1,1)+cc(2,k,1,3)
67 tr4 = cc(2,k,1,4)-cc(2,k,1,2)
68 ti3 = cc(2,k,1,2)+cc(2,k,1,4)
69 tr1 = cc(1,k,1,1)-cc(1,k,1,3)
70 tr2 = cc(1,k,1,1)+cc(1,k,1,3)
71 ti4 = cc(1,k,1,2)-cc(1,k,1,4)
72 tr3 = cc(1,k,1,2)+cc(1,k,1,4)
86 ti1 = cc(2,k,i,1)-cc(2,k,i,3)
87 ti2 = cc(2,k,i,1)+cc(2,k,i,3)
88 ti3 = cc(2,k,i,2)+cc(2,k,i,4)
89 tr4 = cc(2,k,i,4)-cc(2,k,i,2)
90 tr1 = cc(1,k,i,1)-cc(1,k,i,3)
91 tr2 = cc(1,k,i,1)+cc(1,k,i,3)
92 ti4 = cc(1,k,i,2)-cc(1,k,i,4)
93 tr3 = cc(1,k,i,2)+cc(1,k,i,4)
103 ch(1,k,2,i) = wa(i,1,1)*cr2-wa(i,1,2)*ci2
104 ch(2,k,2,i) = wa(i,1,1)*ci2+wa(i,1,2)*cr2
105 ch(1,k,3,i) = wa(i,2,1)*cr3-wa(i,2,2)*ci3
106 ch(2,k,3,i) = wa(i,2,1)*ci3+wa(i,2,2)*cr3
107 ch(1,k,4,i) = wa(i,3,1)*cr4-wa(i,3,2)*ci4
108 ch(2,k,4,i) = wa(i,3,1)*ci4+wa(i,3,2)*cr4
116 ti1 = cc(2,k,1,1)-cc(2,k,1,3)
117 ti2 = cc(2,k,1,1)+cc(2,k,1,3)
118 tr4 = cc(2,k,1,4)-cc(2,k,1,2)
119 ti3 = cc(2,k,1,2)+cc(2,k,1,4)
120 tr1 = cc(1,k,1,1)-cc(1,k,1,3)
121 tr2 = cc(1,k,1,1)+cc(1,k,1,3)
122 ti4 = cc(1,k,1,2)-cc(1,k,1,4)
123 tr3 = cc(1,k,1,2)+cc(1,k,1,4)
124 cc(1,k,1,1) = tr2+tr3
125 cc(1,k,1,3) = tr2-tr3
126 cc(2,k,1,1) = ti2+ti3
127 cc(2,k,1,3) = ti2-ti3
128 cc(1,k,1,2) = tr1+tr4
129 cc(1,k,1,4) = tr1-tr4
130 cc(2,k,1,2) = ti1+ti4
131 cc(2,k,1,4) = ti1-ti4