1 SUBROUTINE RADF5(IDO,L1,CC,CH,WA1,WA2,WA3,WA4) 2C***BEGIN PROLOGUE RADF5 3C***REFER TO RFFTF 4C***ROUTINES CALLED (NONE) 5C***REVISION HISTORY (YYMMDD) 6C 000330 Modified array declarations. (JEC) 7C 8C***END PROLOGUE RADF5 9 DIMENSION CC(IDO,L1,5) ,CH(IDO,5,L1) , 10 1 WA1(*) ,WA2(*) ,WA3(*) ,WA4(*) 11 DATA TR11,TI11,TR12,TI12 /.309016994374947,.951056516295154, 12 1-.809016994374947,.587785252292473/ 13C***FIRST EXECUTABLE STATEMENT RADF5 14 DO 101 K=1,L1 15 CR2 = CC(1,K,5)+CC(1,K,2) 16 CI5 = CC(1,K,5)-CC(1,K,2) 17 CR3 = CC(1,K,4)+CC(1,K,3) 18 CI4 = CC(1,K,4)-CC(1,K,3) 19 CH(1,1,K) = CC(1,K,1)+CR2+CR3 20 CH(IDO,2,K) = CC(1,K,1)+TR11*CR2+TR12*CR3 21 CH(1,3,K) = TI11*CI5+TI12*CI4 22 CH(IDO,4,K) = CC(1,K,1)+TR12*CR2+TR11*CR3 23 CH(1,5,K) = TI12*CI5-TI11*CI4 24 101 CONTINUE 25 IF (IDO .EQ. 1) RETURN 26 IDP2 = IDO+2 27 IF((IDO-1)/2.LT.L1) GO TO 104 28 DO 103 K=1,L1 29CDIR$ IVDEP 30 DO 102 I=3,IDO,2 31 IC = IDP2-I 32 DR2 = WA1(I-2)*CC(I-1,K,2)+WA1(I-1)*CC(I,K,2) 33 DI2 = WA1(I-2)*CC(I,K,2)-WA1(I-1)*CC(I-1,K,2) 34 DR3 = WA2(I-2)*CC(I-1,K,3)+WA2(I-1)*CC(I,K,3) 35 DI3 = WA2(I-2)*CC(I,K,3)-WA2(I-1)*CC(I-1,K,3) 36 DR4 = WA3(I-2)*CC(I-1,K,4)+WA3(I-1)*CC(I,K,4) 37 DI4 = WA3(I-2)*CC(I,K,4)-WA3(I-1)*CC(I-1,K,4) 38 DR5 = WA4(I-2)*CC(I-1,K,5)+WA4(I-1)*CC(I,K,5) 39 DI5 = WA4(I-2)*CC(I,K,5)-WA4(I-1)*CC(I-1,K,5) 40 CR2 = DR2+DR5 41 CI5 = DR5-DR2 42 CR5 = DI2-DI5 43 CI2 = DI2+DI5 44 CR3 = DR3+DR4 45 CI4 = DR4-DR3 46 CR4 = DI3-DI4 47 CI3 = DI3+DI4 48 CH(I-1,1,K) = CC(I-1,K,1)+CR2+CR3 49 CH(I,1,K) = CC(I,K,1)+CI2+CI3 50 TR2 = CC(I-1,K,1)+TR11*CR2+TR12*CR3 51 TI2 = CC(I,K,1)+TR11*CI2+TR12*CI3 52 TR3 = CC(I-1,K,1)+TR12*CR2+TR11*CR3 53 TI3 = CC(I,K,1)+TR12*CI2+TR11*CI3 54 TR5 = TI11*CR5+TI12*CR4 55 TI5 = TI11*CI5+TI12*CI4 56 TR4 = TI12*CR5-TI11*CR4 57 TI4 = TI12*CI5-TI11*CI4 58 CH(I-1,3,K) = TR2+TR5 59 CH(IC-1,2,K) = TR2-TR5 60 CH(I,3,K) = TI2+TI5 61 CH(IC,2,K) = TI5-TI2 62 CH(I-1,5,K) = TR3+TR4 63 CH(IC-1,4,K) = TR3-TR4 64 CH(I,5,K) = TI3+TI4 65 CH(IC,4,K) = TI4-TI3 66 102 CONTINUE 67 103 CONTINUE 68 RETURN 69 104 DO 106 I=3,IDO,2 70 IC = IDP2-I 71CDIR$ IVDEP 72 DO 105 K=1,L1 73 DR2 = WA1(I-2)*CC(I-1,K,2)+WA1(I-1)*CC(I,K,2) 74 DI2 = WA1(I-2)*CC(I,K,2)-WA1(I-1)*CC(I-1,K,2) 75 DR3 = WA2(I-2)*CC(I-1,K,3)+WA2(I-1)*CC(I,K,3) 76 DI3 = WA2(I-2)*CC(I,K,3)-WA2(I-1)*CC(I-1,K,3) 77 DR4 = WA3(I-2)*CC(I-1,K,4)+WA3(I-1)*CC(I,K,4) 78 DI4 = WA3(I-2)*CC(I,K,4)-WA3(I-1)*CC(I-1,K,4) 79 DR5 = WA4(I-2)*CC(I-1,K,5)+WA4(I-1)*CC(I,K,5) 80 DI5 = WA4(I-2)*CC(I,K,5)-WA4(I-1)*CC(I-1,K,5) 81 CR2 = DR2+DR5 82 CI5 = DR5-DR2 83 CR5 = DI2-DI5 84 CI2 = DI2+DI5 85 CR3 = DR3+DR4 86 CI4 = DR4-DR3 87 CR4 = DI3-DI4 88 CI3 = DI3+DI4 89 CH(I-1,1,K) = CC(I-1,K,1)+CR2+CR3 90 CH(I,1,K) = CC(I,K,1)+CI2+CI3 91 TR2 = CC(I-1,K,1)+TR11*CR2+TR12*CR3 92 TI2 = CC(I,K,1)+TR11*CI2+TR12*CI3 93 TR3 = CC(I-1,K,1)+TR12*CR2+TR11*CR3 94 TI3 = CC(I,K,1)+TR12*CI2+TR11*CI3 95 TR5 = TI11*CR5+TI12*CR4 96 TI5 = TI11*CI5+TI12*CI4 97 TR4 = TI12*CR5-TI11*CR4 98 TI4 = TI12*CI5-TI11*CI4 99 CH(I-1,3,K) = TR2+TR5 100 CH(IC-1,2,K) = TR2-TR5 101 CH(I,3,K) = TI2+TI5 102 CH(IC,2,K) = TI5-TI2 103 CH(I-1,5,K) = TR3+TR4 104 CH(IC-1,4,K) = TR3-TR4 105 CH(I,5,K) = TI3+TI4 106 CH(IC,4,K) = TI4-TI3 107 105 CONTINUE 108 106 CONTINUE 109 RETURN 110 END 111