1 subroutine rfftb1 ( n, in, c, ch, wa, fac )
3 !*****************************************************************************80
5 !! RFFTB1 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 ) in
37 integer ( kind = 4 ) n
39 real ( kind = 4 ) c(in,*)
40 real ( kind = 4 ) ch(*)
41 real ( kind = 4 ) fac(15)
42 real ( kind = 4 ) half
43 real ( kind = 4 ) halfm
44 integer ( kind = 4 ) idl1
45 integer ( kind = 4 ) ido
46 integer ( kind = 4 ) ip
47 integer ( kind = 4 ) iw
48 integer ( kind = 4 ) ix2
49 integer ( kind = 4 ) ix3
50 integer ( kind = 4 ) ix4
51 integer ( kind = 4 ) j
52 integer ( kind = 4 ) k1
53 integer ( kind = 4 ) l1
54 integer ( kind = 4 ) l2
55 integer ( kind = 4 ) modn
56 integer ( kind = 4 ) na
57 integer ( kind = 4 ) nf
58 integer ( kind = 4 ) nl
59 real ( kind = 4 ) wa(n)
66 ip = int ( fac(k1+2) )
88 c(1,j) = half * c(1,j)
89 c(1,j+1) = halfm * c(1,j+1)
99 ch(j+1) = halfm*c(1,j+1)
109 ip = int ( fac(k1+2) )
120 call r1f4kb ( ido, l1, c, in, ch, 1, wa(iw), wa(ix2), wa(ix3) )
122 call r1f4kb ( ido, l1, ch, 1, c, in, wa(iw), wa(ix2), wa(ix3) )
127 else if ( ip == 2 ) then
130 call r1f2kb ( ido, l1, c, in, ch, 1, wa(iw) )
132 call r1f2kb ( ido, l1, ch, 1, c, in, wa(iw) )
137 else if ( ip == 3 ) then
142 call r1f3kb ( ido, l1, c, in, ch, 1, wa(iw), wa(ix2) )
144 call r1f3kb ( ido, l1, ch, 1, c, in, wa(iw), wa(ix2) )
149 else if ( ip == 5 ) then
156 call r1f5kb ( ido, l1, c, in, ch, 1, wa(iw), wa(ix2), wa(ix3), wa(ix4) )
158 call r1f5kb ( ido, l1, ch, 1, c, in, wa(iw), wa(ix2), wa(ix3), wa(ix4) )
166 call r1fgkb ( ido, ip, l1, idl1, c, c, c, in, ch, ch, 1, wa(iw) )
168 call r1fgkb ( ido, ip, l1, idl1, ch, ch, ch, 1, c, c, in, wa(iw) )
178 iw = iw + ( ip - 1 ) * ido