1 : C FFTL SOURCE CHAT 05/01/12 23:59:16 5004 2 : SUBROUTINE FFTL(XX,YY,W,N) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-V) 5 : IMPLICIT COMPLEX*16 (W-Z) 6 : COMPLEX*16 A,B 7 : LOGICAL SW 8 : C 9 : C======================================================================= 10 : C = CALCUL DE LA TRANSFORMEE DE FOURIER RAPIDE EN SIMPLE PRECISION = 11 : C = DOIT ETRE INITIALISE AVANT SON APPEL PAR LA ROUTINE WEXP = 12 : C = ( CALCUL DES EXPONENTIELLES COMPLEXES ) = 13 : C = = 14 : C = = 15 : C = = 16 : C = XX(I) TABLEAU DES NOMBRES A TRANSFORMER = 17 : C = YY(I) TABLEAU DE TRAVAIL = 18 : C = W(I) TABLEAU DES EXP.IMAGINAIRES = 19 : C = W(I)=EXP(2.*PI*J*(I-1)/N) = 20 : C = LA TRANSFORMEE APPARAIT EN XX(I) = 21 : C = = 22 : C = CREATION : 03/04/87 = 23 : C = PROGRAMMEUR : BEAUFILS ( D'APRES TFF DE BIBLIO DEMT/SMTS ) = 24 : C = ECRIT PAR LEPAREUX = 25 : C======================================================================= 26 : C 27 : -INC CCOPTIO 28 : C 29 : DIMENSION XX(1),YY(1),W(1) 30 : C 31 : SW=.TRUE. 32 : N2=N/2 33 : IH=N2 34 : 1 CONTINUE 35 : IF(IH.EQ.0) GO TO 2 36 : J=0 37 : 3 CONTINUE 38 : L=J+N2 39 : JK=J-MOD(J,IH) 40 : IP=J+JK 41 : IQ=IP+IH 42 : IF(SW) GO TO 4 43 : A=YY(IP+1) 44 : B=YY(IQ+1)*W(JK+1) 45 : XX(J+1)=A+B 46 : XX(L+1)=A-B 47 : GO TO 5 48 : 4 A=XX(IP+1) 49 : B=XX(IQ+1)*W(JK+1) 50 : YY(J+1)=A+B 51 : YY(L+1)=A-B 52 : 5 CONTINUE 53 : J=J+1 54 : IF(J.LT.N2) GO TO 3 55 : IH=IH/2 56 : SW=.NOT.SW 57 : GO TO 1 58 : 2 CONTINUE 59 : IF(SW) RETURN 60 : DO 6 I=1,N 61 : 6 XX(I)=YY(I) 62 : C 63 : RETURN 64 : END 65 :
© Cast3M 2003 - All rights reserved.
Disclaimer