1 SUBROUTINE PASSF5 (IDO,L1,CC,CH,WA1,WA2,WA3,WA4) 2 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 DIMENSION CC(IDO,5,L1) ,CH(IDO,L1,5) , 4 1 WA1(1) ,WA2(1) ,WA3(1) ,WA4(1) 5C *** TR11=COS(2*PI/5), TI11=-SIN(2*PI/5) 6C *** TR12=-COS(4*PI/5), TI12=-SIN(4*PI/5) 7 DATA TR11,TI11,TR12,TI12 /0.3090169943749474241D0, 8 + -0.95105651629515357212D0, 9 1 -0.8090169943749474241D0, -0.58778525229247312917D0/ 10 IF (IDO .NE. 2) GO TO 102 11 DO 101 K=1,L1 12 TI5 = CC(2,2,K)-CC(2,5,K) 13 TI2 = CC(2,2,K)+CC(2,5,K) 14 TI4 = CC(2,3,K)-CC(2,4,K) 15 TI3 = CC(2,3,K)+CC(2,4,K) 16 TR5 = CC(1,2,K)-CC(1,5,K) 17 TR2 = CC(1,2,K)+CC(1,5,K) 18 TR4 = CC(1,3,K)-CC(1,4,K) 19 TR3 = CC(1,3,K)+CC(1,4,K) 20 CH(1,K,1) = CC(1,1,K)+TR2+TR3 21 CH(2,K,1) = CC(2,1,K)+TI2+TI3 22 CR2 = CC(1,1,K)+TR11*TR2+TR12*TR3 23 CI2 = CC(2,1,K)+TR11*TI2+TR12*TI3 24 CR3 = CC(1,1,K)+TR12*TR2+TR11*TR3 25 CI3 = CC(2,1,K)+TR12*TI2+TR11*TI3 26 CR5 = TI11*TR5+TI12*TR4 27 CI5 = TI11*TI5+TI12*TI4 28 CR4 = TI12*TR5-TI11*TR4 29 CI4 = TI12*TI5-TI11*TI4 30 CH(1,K,2) = CR2-CI5 31 CH(1,K,5) = CR2+CI5 32 CH(2,K,2) = CI2+CR5 33 CH(2,K,3) = CI3+CR4 34 CH(1,K,3) = CR3-CI4 35 CH(1,K,4) = CR3+CI4 36 CH(2,K,4) = CI3-CR4 37 CH(2,K,5) = CI2-CR5 38 101 CONTINUE 39 RETURN 40 102 DO 104 K=1,L1 41 DO 103 I=2,IDO,2 42 TI5 = CC(I,2,K)-CC(I,5,K) 43 TI2 = CC(I,2,K)+CC(I,5,K) 44 TI4 = CC(I,3,K)-CC(I,4,K) 45 TI3 = CC(I,3,K)+CC(I,4,K) 46 TR5 = CC(I-1,2,K)-CC(I-1,5,K) 47 TR2 = CC(I-1,2,K)+CC(I-1,5,K) 48 TR4 = CC(I-1,3,K)-CC(I-1,4,K) 49 TR3 = CC(I-1,3,K)+CC(I-1,4,K) 50 CH(I-1,K,1) = CC(I-1,1,K)+TR2+TR3 51 CH(I,K,1) = CC(I,1,K)+TI2+TI3 52 CR2 = CC(I-1,1,K)+TR11*TR2+TR12*TR3 53 CI2 = CC(I,1,K)+TR11*TI2+TR12*TI3 54 CR3 = CC(I-1,1,K)+TR12*TR2+TR11*TR3 55 CI3 = CC(I,1,K)+TR12*TI2+TR11*TI3 56 CR5 = TI11*TR5+TI12*TR4 57 CI5 = TI11*TI5+TI12*TI4 58 CR4 = TI12*TR5-TI11*TR4 59 CI4 = TI12*TI5-TI11*TI4 60 DR3 = CR3-CI4 61 DR4 = CR3+CI4 62 DI3 = CI3+CR4 63 DI4 = CI3-CR4 64 DR5 = CR2+CI5 65 DR2 = CR2-CI5 66 DI5 = CI2-CR5 67 DI2 = CI2+CR5 68 CH(I-1,K,2) = WA1(I-1)*DR2+WA1(I)*DI2 69 CH(I,K,2) = WA1(I-1)*DI2-WA1(I)*DR2 70 CH(I-1,K,3) = WA2(I-1)*DR3+WA2(I)*DI3 71 CH(I,K,3) = WA2(I-1)*DI3-WA2(I)*DR3 72 CH(I-1,K,4) = WA3(I-1)*DR4+WA3(I)*DI4 73 CH(I,K,4) = WA3(I-1)*DI4-WA3(I)*DR4 74 CH(I-1,K,5) = WA4(I-1)*DR5+WA4(I)*DI5 75 CH(I,K,5) = WA4(I-1)*DI5-WA4(I)*DR5 76 103 CONTINUE 77 104 CONTINUE 78 RETURN 79 END 80