Télécharger fftl.eso

Retour à la liste

Numérotation des lignes :

  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.  
  66.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales