Download mare.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer