1*----------------------------------------------------------------------- 2 SUBROUTINE CFFTF1 (N,C,CH,WA,IFAC) 3 DIMENSION CH(*) ,C(*) ,WA(*) ,IFAC(*) 4 NF = IFAC(2) 5 NA = 0 6 L1 = 1 7 IW = 1 8 DO 116 K1=1,NF 9 IP = IFAC(K1+2) 10 L2 = IP*L1 11 IDO = N/L2 12 IDOT = IDO+IDO 13 IDL1 = IDOT*L1 14 IF (IP .NE. 4) GO TO 103 15 IX2 = IW+IDOT 16 IX3 = IX2+IDOT 17 IF (NA .NE. 0) GO TO 101 18 CALL PASSF4 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3)) 19 GO TO 102 20 101 CALL PASSF4 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3)) 21 102 NA = 1-NA 22 GO TO 115 23 103 IF (IP .NE. 2) GO TO 106 24 IF (NA .NE. 0) GO TO 104 25 CALL PASSF2 (IDOT,L1,C,CH,WA(IW)) 26 GO TO 105 27 104 CALL PASSF2 (IDOT,L1,CH,C,WA(IW)) 28 105 NA = 1-NA 29 GO TO 115 30 106 IF (IP .NE. 3) GO TO 109 31 IX2 = IW+IDOT 32 IF (NA .NE. 0) GO TO 107 33 CALL PASSF3 (IDOT,L1,C,CH,WA(IW),WA(IX2)) 34 GO TO 108 35 107 CALL PASSF3 (IDOT,L1,CH,C,WA(IW),WA(IX2)) 36 108 NA = 1-NA 37 GO TO 115 38 109 IF (IP .NE. 5) GO TO 112 39 IX2 = IW+IDOT 40 IX3 = IX2+IDOT 41 IX4 = IX3+IDOT 42 IF (NA .NE. 0) GO TO 110 43 CALL PASSF5 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4)) 44 GO TO 111 45 110 CALL PASSF5 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4)) 46 111 NA = 1-NA 47 GO TO 115 48 112 IF (NA .NE. 0) GO TO 113 49 CALL PASSF (NAC,IDOT,IP,L1,IDL1,C,C,C,CH,CH,WA(IW)) 50 GO TO 114 51 113 CALL PASSF (NAC,IDOT,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW)) 52 114 IF (NAC .NE. 0) NA = 1-NA 53 115 L1 = L2 54 IW = IW+(IP-1)*IDOT 55 116 CONTINUE 56 IF (NA .EQ. 0) RETURN 57 N2 = N+N 58 DO 117 I=1,N2 59 C(I) = CH(I) 60 117 CONTINUE 61 RETURN 62 END 63