Download fftl.eso

Back to the list

   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