Télécharger mare.eso

Retour à la liste

Numérotation des lignes :

mare
  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.  
  40. -INC PPARAM
  41. -INC CCOPTIO
  42. *
  43. REAL*8 MA(NI,NJ)
  44. CHARACTER*8 COPER
  45. REAL*8 RE
  46. *
  47. INTEGER IMPR,IRET
  48. *
  49. * Executable statements
  50. *
  51. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans mare.eso'
  52. RE=0.D0
  53. IF (COPER.EQ.'TRACE ') THEN
  54. IF (NI.NE.NJ) GOTO 9998
  55. DO II=1,NI
  56. RE=RE+MA(II,II)
  57. ENDDO
  58. ELSEIF (COPER.EQ.'TRJJT ') THEN
  59. IF (NI.NE.NJ) GOTO 9998
  60. DO IJ=1,NJ
  61. DO II=1,NI
  62. RE=RE+(MA(II,IJ)**2)
  63. ENDDO
  64. ENDDO
  65. ELSE
  66. WRITE(IOIMP,*) 'Operation ',COPER,' unknown'
  67. GOTO 9999
  68. ENDIF
  69. *
  70. * Normal termination
  71. *
  72. IRET=0
  73. RETURN
  74. *
  75. * Format handling
  76. *
  77. *
  78. * Error handling
  79. *
  80. 9998 CONTINUE
  81. WRITE(IOIMP,*) NI,'.NE.',NJ
  82. GOTO 9999
  83. *
  84. 9999 CONTINUE
  85. IRET=1
  86. WRITE(IOIMP,*) 'An error was detected in subroutine mare'
  87. RETURN
  88. *
  89. * End of subroutine MARE
  90. *
  91. END
  92.  
  93.  
  94.  

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