Télécharger fftl.eso

Retour à la liste

Numérotation des lignes :

fftl
  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.  
  28. -INC PPARAM
  29. -INC CCOPTIO
  30. C
  31. DIMENSION XX(1),YY(1),W(1)
  32. C
  33. SW=.TRUE.
  34. N2=N/2
  35. IH=N2
  36. 1 CONTINUE
  37. IF(IH.EQ.0) GO TO 2
  38. J=0
  39. 3 CONTINUE
  40. L=J+N2
  41. JK=J-MOD(J,IH)
  42. IP=J+JK
  43. IQ=IP+IH
  44. IF(SW) GO TO 4
  45. A=YY(IP+1)
  46. B=YY(IQ+1)*W(JK+1)
  47. XX(J+1)=A+B
  48. XX(L+1)=A-B
  49. GO TO 5
  50. 4 A=XX(IP+1)
  51. B=XX(IQ+1)*W(JK+1)
  52. YY(J+1)=A+B
  53. YY(L+1)=A-B
  54. 5 CONTINUE
  55. J=J+1
  56. IF(J.LT.N2) GO TO 3
  57. IH=IH/2
  58. SW=.NOT.SW
  59. GO TO 1
  60. 2 CONTINUE
  61. IF(SW) RETURN
  62. DO 6 I=1,N
  63. 6 XX(I)=YY(I)
  64. C
  65. RETURN
  66. END
  67.  
  68.  

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