1      SUBROUTINE RFFTB1(N,C,CH,WA,IFAC)
2C***BEGIN PROLOGUE  RFFTB1
3C***REFER TO  RFFTB
4C***ROUTINES CALLED  RADB2,RADB3,RADB4,RADB5,RADBG
5C***REVISION HISTORY  (YYMMDD)
6C   000330  Modified array declarations.  (JEC)
7C
8C***END PROLOGUE  RFFTB1
9      DIMENSION       CH(*)      ,C(*)       ,WA(*)      ,IFAC(*)
10C***FIRST EXECUTABLE STATEMENT  RFFTB1
11      NF = IFAC(2)
12      NA = 0
13      L1 = 1
14      IW = 1
15      DO 116 K1=1,NF
16         IP = IFAC(K1+2)
17         L2 = IP*L1
18         IDO = N/L2
19         IDL1 = IDO*L1
20         IF (IP .NE. 4) GO TO 103
21         IX2 = IW+IDO
22         IX3 = IX2+IDO
23         IF (NA .NE. 0) GO TO 101
24         CALL RADB4 (IDO,L1,C,CH,WA(IW),WA(IX2),WA(IX3))
25         GO TO 102
26  101    CALL RADB4 (IDO,L1,CH,C,WA(IW),WA(IX2),WA(IX3))
27  102    NA = 1-NA
28         GO TO 115
29  103    IF (IP .NE. 2) GO TO 106
30         IF (NA .NE. 0) GO TO 104
31         CALL RADB2 (IDO,L1,C,CH,WA(IW))
32         GO TO 105
33  104    CALL RADB2 (IDO,L1,CH,C,WA(IW))
34  105    NA = 1-NA
35         GO TO 115
36  106    IF (IP .NE. 3) GO TO 109
37         IX2 = IW+IDO
38         IF (NA .NE. 0) GO TO 107
39         CALL RADB3 (IDO,L1,C,CH,WA(IW),WA(IX2))
40         GO TO 108
41  107    CALL RADB3 (IDO,L1,CH,C,WA(IW),WA(IX2))
42  108    NA = 1-NA
43         GO TO 115
44  109    IF (IP .NE. 5) GO TO 112
45         IX2 = IW+IDO
46         IX3 = IX2+IDO
47         IX4 = IX3+IDO
48         IF (NA .NE. 0) GO TO 110
49         CALL RADB5 (IDO,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4))
50         GO TO 111
51  110    CALL RADB5 (IDO,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4))
52  111    NA = 1-NA
53         GO TO 115
54  112    IF (NA .NE. 0) GO TO 113
55         CALL RADBG (IDO,IP,L1,IDL1,C,C,C,CH,CH,WA(IW))
56         GO TO 114
57  113    CALL RADBG (IDO,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW))
58  114    IF (IDO .EQ. 1) NA = 1-NA
59  115    L1 = L2
60         IW = IW+(IP-1)*IDO
61  116 CONTINUE
62      IF (NA .EQ. 0) RETURN
63      DO 117 I=1,N
64         C(I) = CH(I)
65  117 CONTINUE
66      RETURN
67      END
68