1 SUBROUTINE RADB5 (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 + -0.8090169943749474241D0,0.58778525229247312917D0/ 10 DO 101 K=1,L1 11 TI5 = CC(1,3,K)+CC(1,3,K) 12 TI4 = CC(1,5,K)+CC(1,5,K) 13 TR2 = CC(IDO,2,K)+CC(IDO,2,K) 14 TR3 = CC(IDO,4,K)+CC(IDO,4,K) 15 CH(1,K,1) = CC(1,1,K)+TR2+TR3 16 CR2 = CC(1,1,K)+TR11*TR2+TR12*TR3 17 CR3 = CC(1,1,K)+TR12*TR2+TR11*TR3 18 CI5 = TI11*TI5+TI12*TI4 19 CI4 = TI12*TI5-TI11*TI4 20 CH(1,K,2) = CR2-CI5 21 CH(1,K,3) = CR3-CI4 22 CH(1,K,4) = CR3+CI4 23 CH(1,K,5) = CR2+CI5 24 101 CONTINUE 25 IF (IDO .EQ. 1) RETURN 26 IDP2 = IDO+2 27 DO 103 K=1,L1 28 DO 102 I=3,IDO,2 29 IC = IDP2-I 30 TI5 = CC(I,3,K)+CC(IC,2,K) 31 TI2 = CC(I,3,K)-CC(IC,2,K) 32 TI4 = CC(I,5,K)+CC(IC,4,K) 33 TI3 = CC(I,5,K)-CC(IC,4,K) 34 TR5 = CC(I-1,3,K)-CC(IC-1,2,K) 35 TR2 = CC(I-1,3,K)+CC(IC-1,2,K) 36 TR4 = CC(I-1,5,K)-CC(IC-1,4,K) 37 TR3 = CC(I-1,5,K)+CC(IC-1,4,K) 38 CH(I-1,K,1) = CC(I-1,1,K)+TR2+TR3 39 CH(I,K,1) = CC(I,1,K)+TI2+TI3 40 CR2 = CC(I-1,1,K)+TR11*TR2+TR12*TR3 41 CI2 = CC(I,1,K)+TR11*TI2+TR12*TI3 42 CR3 = CC(I-1,1,K)+TR12*TR2+TR11*TR3 43 CI3 = CC(I,1,K)+TR12*TI2+TR11*TI3 44 CR5 = TI11*TR5+TI12*TR4 45 CI5 = TI11*TI5+TI12*TI4 46 CR4 = TI12*TR5-TI11*TR4 47 CI4 = TI12*TI5-TI11*TI4 48 DR3 = CR3-CI4 49 DR4 = CR3+CI4 50 DI3 = CI3+CR4 51 DI4 = CI3-CR4 52 DR5 = CR2+CI5 53 DR2 = CR2-CI5 54 DI5 = CI2-CR5 55 DI2 = CI2+CR5 56 CH(I-1,K,2) = WA1(I-2)*DR2-WA1(I-1)*DI2 57 CH(I,K,2) = WA1(I-2)*DI2+WA1(I-1)*DR2 58 CH(I-1,K,3) = WA2(I-2)*DR3-WA2(I-1)*DI3 59 CH(I,K,3) = WA2(I-2)*DI3+WA2(I-1)*DR3 60 CH(I-1,K,4) = WA3(I-2)*DR4-WA3(I-1)*DI4 61 CH(I,K,4) = WA3(I-2)*DI4+WA3(I-1)*DR4 62 CH(I-1,K,5) = WA4(I-2)*DR5-WA4(I-1)*DI5 63 CH(I,K,5) = WA4(I-2)*DI5+WA4(I-1)*DR5 64 102 CONTINUE 65 103 CONTINUE 66 RETURN 67 END 68