Télécharger r1f4kf.eso

Retour à la liste

Numérotation des lignes :

r1f4kf
  1. C R1F4KF SOURCE BP208322 18/10/08 21:15:12 9952
  2. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  3. C
  4. C FFTPACK 5.1
  5. C
  6. C Authors: Paul N. Swarztrauber and Richard A. Valent
  7. C
  8. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  9.  
  10. SUBROUTINE R1F4KF (IDO,L1,CC,IN1,CH,IN2,WA1,WA2,WA3)
  11. IMPLICIT INTEGER(I-N)
  12. IMPLICIT REAL*8(A-H,O-Z)
  13. REAL*8 CC(IN1,IDO,L1,4) ,CH(IN2,IDO,4,L1) ,
  14. 1 WA1(IDO) ,WA2(IDO) ,WA3(IDO)
  15. C
  16. HSQT2=SQRT(2.D0)/2.D0
  17. DO 101 K=1,L1
  18. CH(1,1,1,K) = (CC(1,1,K,2)+CC(1,1,K,4))
  19. 1 +(CC(1,1,K,1)+CC(1,1,K,3))
  20. CH(1,IDO,4,K) = (CC(1,1,K,1)+CC(1,1,K,3))
  21. 1 -(CC(1,1,K,2)+CC(1,1,K,4))
  22. CH(1,IDO,2,K) = CC(1,1,K,1)-CC(1,1,K,3)
  23. CH(1,1,3,K) = CC(1,1,K,4)-CC(1,1,K,2)
  24. 101 CONTINUE
  25. IF (IDO-2) 107,105,102
  26. 102 IDP2 = IDO+2
  27. DO 104 K=1,L1
  28. DO 103 I=3,IDO,2
  29. IC = IDP2-I
  30. CH(1,I-1,1,K) = ((WA1(I-2)*CC(1,I-1,K,2)+WA1(I-1)*
  31. 1 CC(1,I,K,2))+(WA3(I-2)*CC(1,I-1,K,4)+WA3(I-1)*
  32. 1 CC(1,I,K,4)))+(CC(1,I-1,K,1)+(WA2(I-2)*CC(1,I-1,K,3)+
  33. 1 WA2(I-1)*CC(1,I,K,3)))
  34. CH(1,IC-1,4,K) = (CC(1,I-1,K,1)+(WA2(I-2)*CC(1,I-1,K,3)+
  35. 1 WA2(I-1)*CC(1,I,K,3)))-((WA1(I-2)*CC(1,I-1,K,2)+
  36. 1 WA1(I-1)*CC(1,I,K,2))+(WA3(I-2)*CC(1,I-1,K,4)+
  37. 1 WA3(I-1)*CC(1,I,K,4)))
  38. CH(1,I,1,K) = ((WA1(I-2)*CC(1,I,K,2)-WA1(I-1)*
  39. 1 CC(1,I-1,K,2))+(WA3(I-2)*CC(1,I,K,4)-WA3(I-1)*
  40. 1 CC(1,I-1,K,4)))+(CC(1,I,K,1)+(WA2(I-2)*CC(1,I,K,3)-
  41. 1 WA2(I-1)*CC(1,I-1,K,3)))
  42. CH(1,IC,4,K) = ((WA1(I-2)*CC(1,I,K,2)-WA1(I-1)*
  43. 1 CC(1,I-1,K,2))+(WA3(I-2)*CC(1,I,K,4)-WA3(I-1)*
  44. 1 CC(1,I-1,K,4)))-(CC(1,I,K,1)+(WA2(I-2)*CC(1,I,K,3)-
  45. 1 WA2(I-1)*CC(1,I-1,K,3)))
  46. CH(1,I-1,3,K) = ((WA1(I-2)*CC(1,I,K,2)-WA1(I-1)*
  47. 1 CC(1,I-1,K,2))-(WA3(I-2)*CC(1,I,K,4)-WA3(I-1)*
  48. 1 CC(1,I-1,K,4)))+(CC(1,I-1,K,1)-(WA2(I-2)*CC(1,I-1,K,3)+
  49. 1 WA2(I-1)*CC(1,I,K,3)))
  50. CH(1,IC-1,2,K) = (CC(1,I-1,K,1)-(WA2(I-2)*CC(1,I-1,K,3)+
  51. 1 WA2(I-1)*CC(1,I,K,3)))-((WA1(I-2)*CC(1,I,K,2)-WA1(I-1)*
  52. 1 CC(1,I-1,K,2))-(WA3(I-2)*CC(1,I,K,4)-WA3(I-1)*
  53. 1 CC(1,I-1,K,4)))
  54. CH(1,I,3,K) = ((WA3(I-2)*CC(1,I-1,K,4)+WA3(I-1)*
  55. 1 CC(1,I,K,4))-(WA1(I-2)*CC(1,I-1,K,2)+WA1(I-1)*
  56. 1 CC(1,I,K,2)))+(CC(1,I,K,1)-(WA2(I-2)*CC(1,I,K,3)-
  57. 1 WA2(I-1)*CC(1,I-1,K,3)))
  58. CH(1,IC,2,K) = ((WA3(I-2)*CC(1,I-1,K,4)+WA3(I-1)*
  59. 1 CC(1,I,K,4))-(WA1(I-2)*CC(1,I-1,K,2)+WA1(I-1)*
  60. 1 CC(1,I,K,2)))-(CC(1,I,K,1)-(WA2(I-2)*CC(1,I,K,3)-
  61. 1 WA2(I-1)*CC(1,I-1,K,3)))
  62. 103 CONTINUE
  63. 104 CONTINUE
  64. IF (MOD(IDO,2) .EQ. 1) RETURN
  65. 105 CONTINUE
  66. DO 106 K=1,L1
  67. CH(1,IDO,1,K) = (HSQT2*(CC(1,IDO,K,2)-CC(1,IDO,K,4)))+
  68. 1 CC(1,IDO,K,1)
  69. CH(1,IDO,3,K) = CC(1,IDO,K,1)-(HSQT2*(CC(1,IDO,K,2)-
  70. 1 CC(1,IDO,K,4)))
  71. CH(1,1,2,K) = (-HSQT2*(CC(1,IDO,K,2)+CC(1,IDO,K,4)))-
  72. 1 CC(1,IDO,K,3)
  73. CH(1,1,4,K) = (-HSQT2*(CC(1,IDO,K,2)+CC(1,IDO,K,4)))+
  74. 1 CC(1,IDO,K,3)
  75. 106 CONTINUE
  76. 107 RETURN
  77. END
  78.  
  79.  
  80.  

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