Télécharger mare.eso

Retour à la liste

Numérotation des lignes :

  1. C MARE SOURCE GOUNAND 05/12/21 21:34:10 5281
  2. SUBROUTINE MARE(MA,NI,NJ,
  3. $ COPER,
  4. $ RE,
  5. $ IMPR,IRET)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7. IMPLICIT INTEGER (I-N)
  8. C***********************************************************************
  9. C NOM : MARE
  10. C DESCRIPTION : Implémentation d'opérations matrice -> réel
  11. C
  12. C
  13. C
  14. C LANGAGE : ESOPE
  15. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  16. C mél : gounand@semt2.smts.cea.fr
  17. C***********************************************************************
  18. C APPELES :
  19. C APPELES (E/S) :
  20. C APPELES (BLAS) :
  21. C APPELES (CALCUL) :
  22. C APPELE PAR :
  23. C***********************************************************************
  24. C SYNTAXE GIBIANE :
  25. C ENTREES :
  26. C ENTREES/SORTIES :
  27. C SORTIES :
  28. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  29. C***********************************************************************
  30. C VERSION : v1, 27/09/2005, version initiale
  31. C HISTORIQUE : v1, 27/09/2005, création
  32. C HISTORIQUE :
  33. C HISTORIQUE :
  34. C***********************************************************************
  35. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  36. C en cas de modification de ce sous-programme afin de faciliter
  37. C la maintenance !
  38. C***********************************************************************
  39. -INC CCOPTIO
  40. *
  41. REAL*8 MA(NI,NJ)
  42. CHARACTER*8 COPER
  43. REAL*8 RE
  44. *
  45. INTEGER IMPR,IRET
  46. *
  47. * Executable statements
  48. *
  49. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans mare.eso'
  50. RE=0.D0
  51. IF (COPER.EQ.'TRACE ') THEN
  52. IF (NI.NE.NJ) GOTO 9998
  53. DO II=1,NI
  54. RE=RE+MA(II,II)
  55. ENDDO
  56. ELSEIF (COPER.EQ.'TRJJT ') THEN
  57. IF (NI.NE.NJ) GOTO 9998
  58. DO IJ=1,NJ
  59. DO II=1,NI
  60. RE=RE+(MA(II,IJ)**2)
  61. ENDDO
  62. ENDDO
  63. ELSE
  64. WRITE(IOIMP,*) 'Operation ',COPER,' unknown'
  65. GOTO 9999
  66. ENDIF
  67. *
  68. * Normal termination
  69. *
  70. IRET=0
  71. RETURN
  72. *
  73. * Format handling
  74. *
  75. *
  76. * Error handling
  77. *
  78. 9998 CONTINUE
  79. WRITE(IOIMP,*) NI,'.NE.',NJ
  80. GOTO 9999
  81. *
  82. 9999 CONTINUE
  83. IRET=1
  84. WRITE(IOIMP,*) 'An error was detected in subroutine mare'
  85. RETURN
  86. *
  87. * End of subroutine MARE
  88. *
  89. END
  90.  
  91.  
  92.  

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