32 SUBROUTINE dcrft(init,x,ldx,y,ldy,n,m,isign,scale,
33 & table,n1,wrk,n2,z,nz)
36 integer init,ldx,ldy,n,m,isign,n1,n2,nz,i,j
37 real x(2*ldx,*),y(ldy,*),scale,table(44002),wrk,z
48 CALL rfftb(n,y(1,j),table)
78 SUBROUTINE scrft(init,x,ldx,y,ldy,n,m,isign,scale,
79 & table,n1,wrk,n2,z,nz)
82 integer init,ldx,ldy,n,m,isign,n1,n2,nz,i,j
83 real x(2*ldx,*),y(ldy,*),scale,table(44002),wrk,z
94 CALL rfftb(n,y(1,j),table)
116 SUBROUTINE csfft(isign,n,scale,x,y,table,work,isys)
119 integer isign,n,isys,i
120 real scale,x(*),y(*),table(*),work(*)
130 CALL rfftb(n,y,table)
158 SUBROUTINE drcft(init,x,ldx,y,ldy,n,m,isign,scale,
159 & table,n1,wrk,n2,z,nz)
162 integer init,ldx,ldy,n,m,isign,n1,n2,nz,i,j
163 real x(ldx,*),y(2*ldy,*),scale,table(44002),wrk,z
172 CALL rfftf(n,y(1,j),table)
207 SUBROUTINE srcft(init,x,ldx,y,ldy,n,m,isign,scale,
208 & table,n1,wrk,n2,z,nz)
211 integer init,ldx,ldy,n,m,isign,n1,n2,nz,i,j
212 real x(ldx,*),y(2*ldy,*),scale,table(44002),wrk,z
221 CALL rfftf(n,y(1,j),table)
249 SUBROUTINE scfft(isign,n,scale,x,y,table,work,isys)
252 integer isign,n,isys,i
253 real scale,x(*),y(*),table(*),work(*)
258 IF (isign.eq.-1)
THEN
262 CALL rfftf(n,y,table)
283 dimension r(1) ,wsave(1)
285 CALL rfftf1 (n,r,wsave,wsave(n+1),wsave(2*n+1))
297 dimension r(1) ,wsave(1)
299 CALL rfftb1 (n,r,wsave,wsave(n+1),wsave(2*n+1))
312 CALL rffti1 (n,wsave(n+1),wsave(2*n+1))
326 dimension ch(1) ,c(1) ,wa(1) ,ifac(*)
336 IF (ip .NE. 4)
GO TO 103
339 IF (na .NE. 0)
GO TO 101
340 CALL radb4 (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3))
342 101
CALL radb4 (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3))
345 103
IF (ip .NE. 2)
GO TO 106
346 IF (na .NE. 0)
GO TO 104
347 CALL radb2 (ido,l1,c,ch,wa(iw))
349 104
CALL radb2 (ido,l1,ch,c,wa(iw))
352 106
IF (ip .NE. 3)
GO TO 109
354 IF (na .NE. 0)
GO TO 107
355 CALL radb3 (ido,l1,c,ch,wa(iw),wa(ix2))
357 107
CALL radb3 (ido,l1,ch,c,wa(iw),wa(ix2))
360 109
IF (ip .NE. 5)
GO TO 112
364 IF (na .NE. 0)
GO TO 110
365 CALL radb5 (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3),wa(ix4))
367 110
CALL radb5 (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3),wa(ix4))
370 112
IF (na .NE. 0)
GO TO 113
371 CALL radbg (ido,ip,l1,idl1,c,c,c,ch,ch,wa(iw))
373 113
CALL radbg (ido,ip,l1,idl1,ch,ch,ch,c,c,wa(iw))
374 114
IF (ido .EQ. 1) na = 1-na
378 IF (na .EQ. 0)
RETURN
395 dimension ch(1) ,c(1) ,wa(1) ,ifac(*)
408 IF (ip .NE. 4)
GO TO 102
411 IF (na .NE. 0)
GO TO 101
412 CALL radf4 (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3))
414 101
CALL radf4 (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3))
416 102
IF (ip .NE. 2)
GO TO 104
417 IF (na .NE. 0)
GO TO 103
418 CALL radf2 (ido,l1,c,ch,wa(iw))
420 103
CALL radf2 (ido,l1,ch,c,wa(iw))
422 104
IF (ip .NE. 3)
GO TO 106
424 IF (na .NE. 0)
GO TO 105
425 CALL radf3 (ido,l1,c,ch,wa(iw),wa(ix2))
427 105
CALL radf3 (ido,l1,ch,c,wa(iw),wa(ix2))
429 106
IF (ip .NE. 5)
GO TO 108
433 IF (na .NE. 0)
GO TO 107
434 CALL radf5 (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3),wa(ix4))
436 107
CALL radf5 (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3),wa(ix4))
438 108
IF (ido .EQ. 1) na = 1-na
439 IF (na .NE. 0)
GO TO 109
440 CALL radfg (ido,ip,l1,idl1,c,c,c,ch,ch,wa(iw))
443 109
CALL radfg (ido,ip,l1,idl1,ch,ch,ch,c,c,wa(iw))
447 IF (na .EQ. 1)
RETURN
462 dimension wa(1) ,ifac(*) ,ntryh(4)
463 DATA ntryh(1),ntryh(2),ntryh(3),ntryh(4)/4,2,3,5/
478 IF (ntry .NE. 2)
GO TO 107
479 IF (nf .EQ. 1)
GO TO 107
482 ifac(ib+2) = ifac(ib+1)
485 107
IF (nl .NE. 1)
GO TO 104
488 tpi = 6.28318530717959
493 IF (nfm1 .EQ. 0)
RETURN
504 argld = float(ld)*argh
531 dimension cc(ido,2,l1) ,ch(ido,l1,2) ,
534 ch(1,k,1) = cc(1,1,k)+cc(ido,2,k)
535 ch(1,k,2) = cc(1,1,k)-cc(ido,2,k)
537 IF (ido-2) 107,105,102
543 ch(i-1,k,1) = cc(i-1,1,k)+cc(ic-1,2,k)
544 tr2 = cc(i-1,1,k)-cc(ic-1,2,k)
545 ch(i,k,1) = cc(i,1,k)-cc(ic,2,k)
546 ti2 = cc(i,1,k)+cc(ic,2,k)
547 ch(i-1,k,2) = wa1(i-2)*tr2-wa1(i-1)*ti2
548 ch(i,k,2) = wa1(i-2)*ti2+wa1(i-1)*tr2
551 IF (mod(ido,2) .EQ. 1)
RETURN
553 ch(ido,k,1) = cc(ido,1,k)+cc(ido,1,k)
554 ch(ido,k,2) = -(cc(1,2,k)+cc(1,2,k))
569 SUBROUTINE radb3 (IDO,L1,CC,CH,WA1,WA2)
570 dimension cc(ido,3,l1) ,ch(ido,l1,3) ,
572 DATA taur,taui /-.5,.866025403784439/
574 tr2 = cc(ido,2,k)+cc(ido,2,k)
575 cr2 = cc(1,1,k)+taur*tr2
576 ch(1,k,1) = cc(1,1,k)+tr2
577 ci3 = taui*(cc(1,3,k)+cc(1,3,k))
581 IF (ido .EQ. 1)
RETURN
587 tr2 = cc(i-1,3,k)+cc(ic-1,2,k)
588 cr2 = cc(i-1,1,k)+taur*tr2
589 ch(i-1,k,1) = cc(i-1,1,k)+tr2
590 ti2 = cc(i,3,k)-cc(ic,2,k)
591 ci2 = cc(i,1,k)+taur*ti2
592 ch(i,k,1) = cc(i,1,k)+ti2
593 cr3 = taui*(cc(i-1,3,k)-cc(ic-1,2,k))
594 ci3 = taui*(cc(i,3,k)+cc(ic,2,k))
599 ch(i-1,k,2) = wa1(i-2)*dr2-wa1(i-1)*di2
600 ch(i,k,2) = wa1(i-2)*di2+wa1(i-1)*dr2
601 ch(i-1,k,3) = wa2(i-2)*dr3-wa2(i-1)*di3
602 ch(i,k,3) = wa2(i-2)*di3+wa2(i-1)*dr3
619 SUBROUTINE radb4 (IDO,L1,CC,CH,WA1,WA2,WA3)
620 dimension cc(ido,4,l1) ,ch(ido,l1,4) ,
621 1 wa1(1) ,wa2(1) ,wa3(1)
622 DATA sqrt2 /1.414213562373095/
624 tr1 = cc(1,1,k)-cc(ido,4,k)
625 tr2 = cc(1,1,k)+cc(ido,4,k)
626 tr3 = cc(ido,2,k)+cc(ido,2,k)
627 tr4 = cc(1,3,k)+cc(1,3,k)
633 IF (ido-2) 107,105,102
639 ti1 = cc(i,1,k)+cc(ic,4,k)
640 ti2 = cc(i,1,k)-cc(ic,4,k)
641 ti3 = cc(i,3,k)-cc(ic,2,k)
642 tr4 = cc(i,3,k)+cc(ic,2,k)
643 tr1 = cc(i-1,1,k)-cc(ic-1,4,k)
644 tr2 = cc(i-1,1,k)+cc(ic-1,4,k)
645 ti4 = cc(i-1,3,k)-cc(ic-1,2,k)
646 tr3 = cc(i-1,3,k)+cc(ic-1,2,k)
647 ch(i-1,k,1) = tr2+tr3
655 ch(i-1,k,2) = wa1(i-2)*cr2-wa1(i-1)*ci2
656 ch(i,k,2) = wa1(i-2)*ci2+wa1(i-1)*cr2
657 ch(i-1,k,3) = wa2(i-2)*cr3-wa2(i-1)*ci3
658 ch(i,k,3) = wa2(i-2)*ci3+wa2(i-1)*cr3
659 ch(i-1,k,4) = wa3(i-2)*cr4-wa3(i-1)*ci4
660 ch(i,k,4) = wa3(i-2)*ci4+wa3(i-1)*cr4
663 IF (mod(ido,2) .EQ. 1)
RETURN
666 ti1 = cc(1,2,k)+cc(1,4,k)
667 ti2 = cc(1,4,k)-cc(1,2,k)
668 tr1 = cc(ido,1,k)-cc(ido,3,k)
669 tr2 = cc(ido,1,k)+cc(ido,3,k)
670 ch(ido,k,1) = tr2+tr2
671 ch(ido,k,2) = sqrt2*(tr1-ti1)
672 ch(ido,k,3) = ti2+ti2
673 ch(ido,k,4) = -sqrt2*(tr1+ti1)
690 SUBROUTINE radb5 (IDO,L1,CC,CH,WA1,WA2,WA3,WA4)
691 dimension cc(ido,5,l1) ,ch(ido,l1,5) ,
692 1 wa1(1) ,wa2(1) ,wa3(1) ,wa4(1)
693 DATA tr11,ti11,tr12,ti12 /.309016994374947,.951056516295154,
694 1-.809016994374947,.587785252292473/
696 ti5 = cc(1,3,k)+cc(1,3,k)
697 ti4 = cc(1,5,k)+cc(1,5,k)
698 tr2 = cc(ido,2,k)+cc(ido,2,k)
699 tr3 = cc(ido,4,k)+cc(ido,4,k)
700 ch(1,k,1) = cc(1,1,k)+tr2+tr3
701 cr2 = cc(1,1,k)+tr11*tr2+tr12*tr3
702 cr3 = cc(1,1,k)+tr12*tr2+tr11*tr3
703 ci5 = ti11*ti5+ti12*ti4
704 ci4 = ti12*ti5-ti11*ti4
710 IF (ido .EQ. 1)
RETURN
715 ti5 = cc(i,3,k)+cc(ic,2,k)
716 ti2 = cc(i,3,k)-cc(ic,2,k)
717 ti4 = cc(i,5,k)+cc(ic,4,k)
718 ti3 = cc(i,5,k)-cc(ic,4,k)
719 tr5 = cc(i-1,3,k)-cc(ic-1,2,k)
720 tr2 = cc(i-1,3,k)+cc(ic-1,2,k)
721 tr4 = cc(i-1,5,k)-cc(ic-1,4,k)
722 tr3 = cc(i-1,5,k)+cc(ic-1,4,k)
723 ch(i-1,k,1) = cc(i-1,1,k)+tr2+tr3
724 ch(i,k,1) = cc(i,1,k)+ti2+ti3
725 cr2 = cc(i-1,1,k)+tr11*tr2+tr12*tr3
726 ci2 = cc(i,1,k)+tr11*ti2+tr12*ti3
727 cr3 = cc(i-1,1,k)+tr12*tr2+tr11*tr3
728 ci3 = cc(i,1,k)+tr12*ti2+tr11*ti3
729 cr5 = ti11*tr5+ti12*tr4
730 ci5 = ti11*ti5+ti12*ti4
731 cr4 = ti12*tr5-ti11*tr4
732 ci4 = ti12*ti5-ti11*ti4
741 ch(i-1,k,2) = wa1(i-2)*dr2-wa1(i-1)*di2
742 ch(i,k,2) = wa1(i-2)*di2+wa1(i-1)*dr2
743 ch(i-1,k,3) = wa2(i-2)*dr3-wa2(i-1)*di3
744 ch(i,k,3) = wa2(i-2)*di3+wa2(i-1)*dr3
745 ch(i-1,k,4) = wa3(i-2)*dr4-wa3(i-1)*di4
746 ch(i,k,4) = wa3(i-2)*di4+wa3(i-1)*dr4
747 ch(i-1,k,5) = wa4(i-2)*dr5-wa4(i-1)*di5
748 ch(i,k,5) = wa4(i-2)*di5+wa4(i-1)*dr5
768 SUBROUTINE radbg (IDO,IP,L1,IDL1,CC,C1,C2,CH,CH2,WA)
769 dimension ch(ido,l1,ip) ,cc(ido,ip,l1) ,
770 1 c1(ido,l1,ip) ,c2(idl1,ip),
771 2 ch2(idl1,ip) ,wa(1)
772 DATA tpi/6.28318530717959/
780 IF (ido .LT. l1)
GO TO 103
783 ch(i,k,1) = cc(i,1,k)
789 ch(i,k,1) = cc(i,1,k)
797 ch(1,k,j) = cc(ido,j2-2,k)+cc(ido,j2-2,k)
798 ch(1,k,jc) = cc(1,j2-1,k)+cc(1,j2-1,k)
801 IF (ido .EQ. 1)
GO TO 116
802 IF (nbd .LT. l1)
GO TO 112
809 ch(i-1,k,j) = cc(i-1,2*j-1,k)+cc(ic-1,2*j-2,k)
810 ch(i-1,k,jc) = cc(i-1,2*j-1,k)-cc(ic-1,2*j-2,k)
811 ch(i,k,j) = cc(i,2*j-1,k)-cc(ic,2*j-2,k)
812 ch(i,k,jc) = cc(i,2*j-1,k)+cc(ic,2*j-2,k)
822 ch(i-1,k,j) = cc(i-1,2*j-1,k)+cc(ic-1,2*j-2,k)
823 ch(i-1,k,jc) = cc(i-1,2*j-1,k)-cc(ic-1,2*j-2,k)
824 ch(i,k,j) = cc(i,2*j-1,k)-cc(ic,2*j-2,k)
825 ch(i,k,jc) = cc(i,2*j-1,k)+cc(ic,2*j-2,k)
834 ar1h = dcp*ar1-dsp*ai1
835 ai1 = dcp*ai1+dsp*ar1
838 c2(ik,l) = ch2(ik,1)+ar1*ch2(ik,2)
839 c2(ik,lc) = ai1*ch2(ik,ip)
848 ar2h = dc2*ar2-ds2*ai2
849 ai2 = dc2*ai2+ds2*ar2
852 c2(ik,l) = c2(ik,l)+ar2*ch2(ik,j)
853 c2(ik,lc) = c2(ik,lc)+ai2*ch2(ik,jc)
860 ch2(ik,1) = ch2(ik,1)+ch2(ik,j)
867 ch(1,k,j) = c1(1,k,j)-c1(1,k,jc)
868 ch(1,k,jc) = c1(1,k,j)+c1(1,k,jc)
871 IF (ido .EQ. 1)
GO TO 132
872 IF (nbd .LT. l1)
GO TO 128
878 ch(i-1,k,j) = c1(i-1,k,j)-c1(i,k,jc)
879 ch(i-1,k,jc) = c1(i-1,k,j)+c1(i,k,jc)
880 ch(i,k,j) = c1(i,k,j)+c1(i-1,k,jc)
881 ch(i,k,jc) = c1(i,k,j)-c1(i-1,k,jc)
890 ch(i-1,k,j) = c1(i-1,k,j)-c1(i,k,jc)
891 ch(i-1,k,jc) = c1(i-1,k,j)+c1(i,k,jc)
892 ch(i,k,j) = c1(i,k,j)+c1(i-1,k,jc)
893 ch(i,k,jc) = c1(i,k,j)-c1(i-1,k,jc)
898 IF (ido .EQ. 1)
RETURN
904 c1(1,k,j) = ch(1,k,j)
907 IF (nbd .GT. l1)
GO TO 139
915 c1(i-1,k,j) = wa(idij-1)*ch(i-1,k,j)-wa(idij)*ch(i,k,j)
916 c1(i,k,j) = wa(idij-1)*ch(i,k,j)+wa(idij)*ch(i-1,k,j)
929 c1(i-1,k,j) = wa(idij-1)*ch(i-1,k,j)-wa(idij)*ch(i,k,j)
930 c1(i,k,j) = wa(idij-1)*ch(i,k,j)+wa(idij)*ch(i-1,k,j)
947 dimension ch(ido,2,l1) ,cc(ido,l1,2) ,
950 ch(1,1,k) = cc(1,k,1)+cc(1,k,2)
951 ch(ido,2,k) = cc(1,k,1)-cc(1,k,2)
953 IF (ido-2) 107,105,102
958 tr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)
959 ti2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)
960 ch(i,1,k) = cc(i,k,1)+ti2
961 ch(ic,2,k) = ti2-cc(i,k,1)
962 ch(i-1,1,k) = cc(i-1,k,1)+tr2
963 ch(ic-1,2,k) = cc(i-1,k,1)-tr2
966 IF (mod(ido,2) .EQ. 1)
RETURN
968 ch(1,2,k) = -cc(ido,k,2)
969 ch(ido,1,k) = cc(ido,k,1)
984 SUBROUTINE radf3 (IDO,L1,CC,CH,WA1,WA2)
985 dimension ch(ido,3,l1) ,cc(ido,l1,3) ,
987 DATA taur,taui /-.5,.866025403784439/
989 cr2 = cc(1,k,2)+cc(1,k,3)
990 ch(1,1,k) = cc(1,k,1)+cr2
991 ch(1,3,k) = taui*(cc(1,k,3)-cc(1,k,2))
992 ch(ido,2,k) = cc(1,k,1)+taur*cr2
994 IF (ido .EQ. 1)
RETURN
999 dr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)
1000 di2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)
1001 dr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3)
1002 di3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3)
1005 ch(i-1,1,k) = cc(i-1,k,1)+cr2
1006 ch(i,1,k) = cc(i,k,1)+ci2
1007 tr2 = cc(i-1,k,1)+taur*cr2
1008 ti2 = cc(i,k,1)+taur*ci2
1009 tr3 = taui*(di2-di3)
1010 ti3 = taui*(dr3-dr2)
1011 ch(i-1,3,k) = tr2+tr3
1012 ch(ic-1,2,k) = tr2-tr3
1014 ch(ic,2,k) = ti3-ti2
1031 SUBROUTINE radf4 (IDO,L1,CC,CH,WA1,WA2,WA3)
1032 dimension cc(ido,l1,4) ,ch(ido,4,l1) ,
1033 1 wa1(1) ,wa2(1) ,wa3(1)
1034 DATA hsqt2 /.7071067811865475/
1036 tr1 = cc(1,k,2)+cc(1,k,4)
1037 tr2 = cc(1,k,1)+cc(1,k,3)
1039 ch(ido,4,k) = tr2-tr1
1040 ch(ido,2,k) = cc(1,k,1)-cc(1,k,3)
1041 ch(1,3,k) = cc(1,k,4)-cc(1,k,2)
1043 IF (ido-2) 107,105,102
1049 cr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)
1050 ci2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)
1051 cr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3)
1052 ci3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3)
1053 cr4 = wa3(i-2)*cc(i-1,k,4)+wa3(i-1)*cc(i,k,4)
1054 ci4 = wa3(i-2)*cc(i,k,4)-wa3(i-1)*cc(i-1,k,4)
1061 tr2 = cc(i-1,k,1)+cr3
1062 tr3 = cc(i-1,k,1)-cr3
1063 ch(i-1,1,k) = tr1+tr2
1064 ch(ic-1,4,k) = tr2-tr1
1066 ch(ic,4,k) = ti1-ti2
1067 ch(i-1,3,k) = ti4+tr3
1068 ch(ic-1,2,k) = tr3-ti4
1070 ch(ic,2,k) = tr4-ti3
1073 IF (mod(ido,2) .EQ. 1)
RETURN
1076 ti1 = -hsqt2*(cc(ido,k,2)+cc(ido,k,4))
1077 tr1 = hsqt2*(cc(ido,k,2)-cc(ido,k,4))
1078 ch(ido,1,k) = tr1+cc(ido,k,1)
1079 ch(ido,3,k) = cc(ido,k,1)-tr1
1080 ch(1,2,k) = ti1-cc(ido,k,3)
1081 ch(1,4,k) = ti1+cc(ido,k,3)
1098 SUBROUTINE radf5 (IDO,L1,CC,CH,WA1,WA2,WA3,WA4)
1099 dimension cc(ido,l1,5) ,ch(ido,5,l1) ,
1100 1 wa1(1) ,wa2(1) ,wa3(1) ,wa4(1)
1101 DATA tr11,ti11,tr12,ti12 /.309016994374947,.951056516295154,
1102 1-.809016994374947,.587785252292473/
1104 cr2 = cc(1,k,5)+cc(1,k,2)
1105 ci5 = cc(1,k,5)-cc(1,k,2)
1106 cr3 = cc(1,k,4)+cc(1,k,3)
1107 ci4 = cc(1,k,4)-cc(1,k,3)
1108 ch(1,1,k) = cc(1,k,1)+cr2+cr3
1109 ch(ido,2,k) = cc(1,k,1)+tr11*cr2+tr12*cr3
1110 ch(1,3,k) = ti11*ci5+ti12*ci4
1111 ch(ido,4,k) = cc(1,k,1)+tr12*cr2+tr11*cr3
1112 ch(1,5,k) = ti12*ci5-ti11*ci4
1114 IF (ido .EQ. 1)
RETURN
1119 dr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)
1120 di2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)
1121 dr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3)
1122 di3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3)
1123 dr4 = wa3(i-2)*cc(i-1,k,4)+wa3(i-1)*cc(i,k,4)
1124 di4 = wa3(i-2)*cc(i,k,4)-wa3(i-1)*cc(i-1,k,4)
1125 dr5 = wa4(i-2)*cc(i-1,k,5)+wa4(i-1)*cc(i,k,5)
1126 di5 = wa4(i-2)*cc(i,k,5)-wa4(i-1)*cc(i-1,k,5)
1135 ch(i-1,1,k) = cc(i-1,k,1)+cr2+cr3
1136 ch(i,1,k) = cc(i,k,1)+ci2+ci3
1137 tr2 = cc(i-1,k,1)+tr11*cr2+tr12*cr3
1138 ti2 = cc(i,k,1)+tr11*ci2+tr12*ci3
1139 tr3 = cc(i-1,k,1)+tr12*cr2+tr11*cr3
1140 ti3 = cc(i,k,1)+tr12*ci2+tr11*ci3
1141 tr5 = ti11*cr5+ti12*cr4
1142 ti5 = ti11*ci5+ti12*ci4
1143 tr4 = ti12*cr5-ti11*cr4
1144 ti4 = ti12*ci5-ti11*ci4
1145 ch(i-1,3,k) = tr2+tr5
1146 ch(ic-1,2,k) = tr2-tr5
1148 ch(ic,2,k) = ti5-ti2
1149 ch(i-1,5,k) = tr3+tr4
1150 ch(ic-1,4,k) = tr3-tr4
1152 ch(ic,4,k) = ti4-ti3
1172 SUBROUTINE radfg (IDO,IP,L1,IDL1,CC,C1,C2,CH,CH2,WA)
1173 dimension ch(ido,l1,ip) ,cc(ido,ip,l1) ,
1174 1 c1(ido,l1,ip) ,c2(idl1,ip),
1175 2 ch2(idl1,ip) ,wa(1)
1176 DATA tpi/6.28318530717959/
1184 IF (ido .EQ. 1)
GO TO 119
1186 ch2(ik,1) = c2(ik,1)
1190 ch(1,k,j) = c1(1,k,j)
1193 IF (nbd .GT. l1)
GO TO 107
1201 ch(i-1,k,j) = wa(idij-1)*c1(i-1,k,j)+wa(idij)*c1(i,k,j)
1202 ch(i,k,j) = wa(idij-1)*c1(i,k,j)-wa(idij)*c1(i-1,k,j)
1214 ch(i-1,k,j) = wa(idij-1)*c1(i-1,k,j)+wa(idij)*c1(i,k,j)
1215 ch(i,k,j) = wa(idij-1)*c1(i,k,j)-wa(idij)*c1(i-1,k,j)
1219 111
IF (nbd .LT. l1)
GO TO 115
1224 c1(i-1,k,j) = ch(i-1,k,j)+ch(i-1,k,jc)
1225 c1(i-1,k,jc) = ch(i,k,j)-ch(i,k,jc)
1226 c1(i,k,j) = ch(i,k,j)+ch(i,k,jc)
1227 c1(i,k,jc) = ch(i-1,k,jc)-ch(i-1,k,j)
1236 c1(i-1,k,j) = ch(i-1,k,j)+ch(i-1,k,jc)
1237 c1(i-1,k,jc) = ch(i,k,j)-ch(i,k,jc)
1238 c1(i,k,j) = ch(i,k,j)+ch(i,k,jc)
1239 c1(i,k,jc) = ch(i-1,k,jc)-ch(i-1,k,j)
1244 119
DO 120 ik=1,idl1
1245 c2(ik,1) = ch2(ik,1)
1250 c1(1,k,j) = ch(1,k,j)+ch(1,k,jc)
1251 c1(1,k,jc) = ch(1,k,jc)-ch(1,k,j)
1259 ar1h = dcp*ar1-dsp*ai1
1260 ai1 = dcp*ai1+dsp*ar1
1263 ch2(ik,l) = c2(ik,1)+ar1*c2(ik,2)
1264 ch2(ik,lc) = ai1*c2(ik,ip)
1272 ar2h = dc2*ar2-ds2*ai2
1273 ai2 = dc2*ai2+ds2*ar2
1276 ch2(ik,l) = ch2(ik,l)+ar2*c2(ik,j)
1277 ch2(ik,lc) = ch2(ik,lc)+ai2*c2(ik,jc)
1283 ch2(ik,1) = ch2(ik,1)+c2(ik,j)
1287 IF (ido .LT. l1)
GO TO 132
1290 cc(i,1,k) = ch(i,k,1)
1296 cc(i,1,k) = ch(i,k,1)
1303 cc(ido,j2-2,k) = ch(1,k,j)
1304 cc(1,j2-1,k) = ch(1,k,jc)
1307 IF (ido .EQ. 1)
RETURN
1308 IF (nbd .LT. l1)
GO TO 141
1315 cc(i-1,j2-1,k) = ch(i-1,k,j)+ch(i-1,k,jc)
1316 cc(ic-1,j2-2,k) = ch(i-1,k,j)-ch(i-1,k,jc)
1317 cc(i,j2-1,k) = ch(i,k,j)+ch(i,k,jc)
1318 cc(ic,j2-2,k) = ch(i,k,jc)-ch(i,k,j)
1329 cc(i-1,j2-1,k) = ch(i-1,k,j)+ch(i-1,k,jc)
1330 cc(ic-1,j2-2,k) = ch(i-1,k,j)-ch(i-1,k,jc)
1331 cc(i,j2-1,k) = ch(i,k,j)+ch(i,k,jc)
1332 cc(ic,j2-2,k) = ch(i,k,jc)-ch(i,k,j)
subroutine radb5(IDO, L1, CC, CH, WA1, WA2, WA3, WA4)
RADB5.
subroutine scfft(isign, n, scale, x, y, table, work, isys)
scfft
subroutine radb4(IDO, L1, CC, CH, WA1, WA2, WA3)
RADB4.
subroutine rffti(N, WSAVE)
RFFTI.
subroutine radf3(IDO, L1, CC, CH, WA1, WA2)
RADF3.
subroutine drcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)
drcft
subroutine radb3(IDO, L1, CC, CH, WA1, WA2)
RADB3
subroutine radf5(IDO, L1, CC, CH, WA1, WA2, WA3, WA4)
RADF5.
subroutine radf2(IDO, L1, CC, CH, WA1)
RADBG.
subroutine dcrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)
dcrft
subroutine rfftb(N, R, WSAVE)
RFFTB.
subroutine scrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)
scrft
subroutine rfftf1(N, C, CH, WA, IFAC)
RFFTF1.
subroutine srcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)
srcft
subroutine csfft(isign, n, scale, x, y, table, work, isys)
csfft
subroutine radfg(IDO, IP, L1, IDL1, CC, C1, C2, CH, CH2, WA)
RADFG.
subroutine rffti1(N, WA, IFAC)
RFFTI1.
subroutine radb2(IDO, L1, CC, CH, WA1)
RADB2.
subroutine radf4(IDO, L1, CC, CH, WA1, WA2, WA3)
RADF4.
subroutine radbg(IDO, IP, L1, IDL1, CC, C1, C2, CH, CH2, WA)
RADBG.
subroutine rfftb1(N, C, CH, WA, IFAC)
RFFTB1.
subroutine rfftf(N, R, WSAVE)
RFFTF.