GNU Octave  4.0.0 A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
zpassf3.f
Go to the documentation of this file.
1  subroutine zpassf3 (ido,l1,cc,ch,wa1,wa2)
2  implicit double precision (a-h,o-z)
3  dimension cc(ido,3,l1) ,ch(ido,l1,3) ,
4  1 wa1(1) ,wa2(1)
5  data taur,taui /-.5d0,-.866025403784439d0/
6  if (ido .ne. 2) go to 102
7  do 101 k=1,l1
8  tr2 = cc(1,2,k)+cc(1,3,k)
9  cr2 = cc(1,1,k)+taur*tr2
10  ch(1,k,1) = cc(1,1,k)+tr2
11  ti2 = cc(2,2,k)+cc(2,3,k)
12  ci2 = cc(2,1,k)+taur*ti2
13  ch(2,k,1) = cc(2,1,k)+ti2
14  cr3 = taui*(cc(1,2,k)-cc(1,3,k))
15  ci3 = taui*(cc(2,2,k)-cc(2,3,k))
16  ch(1,k,2) = cr2-ci3
17  ch(1,k,3) = cr2+ci3
18  ch(2,k,2) = ci2+cr3
19  ch(2,k,3) = ci2-cr3
20  101 continue
21  return
22  102 do 104 k=1,l1
23  do 103 i=2,ido,2
24  tr2 = cc(i-1,2,k)+cc(i-1,3,k)
25  cr2 = cc(i-1,1,k)+taur*tr2
26  ch(i-1,k,1) = cc(i-1,1,k)+tr2
27  ti2 = cc(i,2,k)+cc(i,3,k)
28  ci2 = cc(i,1,k)+taur*ti2
29  ch(i,k,1) = cc(i,1,k)+ti2
30  cr3 = taui*(cc(i-1,2,k)-cc(i-1,3,k))
31  ci3 = taui*(cc(i,2,k)-cc(i,3,k))
32  dr2 = cr2-ci3
33  dr3 = cr2+ci3
34  di2 = ci2+cr3
35  di3 = ci2-cr3
36  ch(i,k,2) = wa1(i-1)*di2-wa1(i)*dr2
37  ch(i-1,k,2) = wa1(i-1)*dr2+wa1(i)*di2
38  ch(i,k,3) = wa2(i-1)*di3-wa2(i)*dr3
39  ch(i-1,k,3) = wa2(i-1)*dr3+wa2(i)*di3
40  103 continue
41  104 continue
42  return
43  end
std::string dimension(void) const
subroutine zpassf3(ido, l1, cc, ch, wa1, wa2)
Definition: zpassf3.f:1