1 : C TEMPOR SOURCE CHAT 05/01/13 03:36:00 5004 2 : c 3 : c temps ecoule depuis le dernier appel 4 : c occupation memoire 5 : c utilisation des opérateurs 6 : c 7 : SUBROUTINE TEMPOR(XINTER,MDIR,ITEM,XTEM,NACT,ILON) 8 : c en entrée on a les informations stockées par pilot 9 : c sur les opérateurs 10 : c 11 : c entree 12 : c xinter contient le temps ecoulé depuis le dernier appel 13 : c mdir est le tableau des noms de tous les opérateurs dans pilot 14 : c item est le nombre d'appel à chaque opérateur 15 : c xtem est le temps total passé dans chaque opérateur 16 : c nact est 17 : c 1,* le nombre de segments actifs en + après l'appel à l'oper. 18 : c 2,* la taille correspondante en mots 19 : c 3,* le nombre d'appels à l'opéarateur depuis le dernier appel 20 : c 21 : c include 22 : IMPLICIT INTEGER(I-N) 23 : -INC CCOPTIO 24 : c 25 : c variables déclarées 26 : REAL*8 XINTER,XTEM,XTOT 27 : CHARACTER*4 MOT(5),MDIR(*) 28 : INTEGER NACT,NACTI,NTACT 29 : DIMENSION ITEM(*),XTEM(*),NACT(3,*) 30 : INTEGER OOOVAL 31 : c 32 : c tableau des mots clé 33 : DATA MOT /'PLAC','NOEC','IMPR','ZERO','SGAC'/ 34 : c 35 : c 36 : IPASS = 0 37 : INTERR(1)=XINTER 38 : XINTER=0.D0 39 : I=0 40 : 41 : 1 CONTINUE 42 : 42 : CALL LIRMOT(MOT,5,I,0) 43 : 44 : IF(I.EQ.0.AND.IPASS.EQ.0) THEN 44 : CALL ERREUR(-259) 45 : RETURN 46 : ENDIF 47 : 48 : c témoin de passage dans la boucle 49 : IPASS = 1 50 : 51 : IF(I.EQ.0) RETURN 52 : 53 : c option 'PLAC' 54 : IF(I.EQ.1) THEN 54 : CALL ERREUR(-259) 54 : CALL OOODMP(0) 55 : 56 : c option 'NOEC' 57 : ELSEIF(I.EQ.2) THEN 57 : CALL ECRENT(INTERR(1)) 58 : 59 : c option 'IMPR' 60 : ELSEIF(I.EQ.3) THEN 61 : XTOT=1.D-10 62 : DO 9 J=1,ILON 63 : XTOT=XTOT+XTEM(J) 64 : 9 CONTINUE 65 : XTOT = XTOT / 100.D0 66 : MOTERR=' ' 67 : WRITE(IOIMP,*) 67 : CALL ERREUR(-258) 68 : DO 2 J =1,ILON 69 : IF(ITEM(J).NE.0) THEN 70 : XPOU= XTEM(J) / XTOT 71 : XRAP= XTEM(J)/ ITEM(J) * 100.D0 72 : WRITE(IOIMP,10)MDIR(J),ITEM(J),XTEM(J),XPOU,XRAP 73 : 10 FORMAT(2X,A4,5X,I6,13X,F8.2,4X,F6.2,5X,G10.4) 74 : ENDIF 75 : 2 CONTINUE 76 : DO 3 J=1,ILON 77 : ITEM(J)=0 78 : XTEM(J)=0.D0 79 : 3 CONTINUE 80 : 81 : c option 82 : ELSEIF(I.EQ.4) THEN 83 : 84 : DO 4 J=1,ILON 85 : NACT(1,J) = 0 86 : NACT(2,J) = 0 87 : NACT(3,J) = 0 88 : ITEM(J)=0 89 : 4 XTEM(J)=0.D0 90 : 91 : c opti actif 92 : ELSEIF(I.EQ.5) THEN 93 : c on ecrit le nombre de segments actifs et leur taille 94 : 94 : CALL LIRMOT(MOT,5,J,0) 95 : GO TO (11,12,12,13,12,12),(J+1) 96 : c il n'y a pas d'autre options on renvoie nbre et taille des segments actifs 97 : 11 NBRACTI = OOOVAL(2,3) 98 : NTAACTI = OOOVAL(3,3) 98 : CALL ECRENT(NBRACTI) 98 : CALL ECRENT(NTAACTI) 99 : RETURN 100 : c il y a d'autres options on renvoie nbre et taille des segments actifs 100 : 12 CALL REFUS 101 : NBRACTI = OOOVAL(2,3) 102 : NTAACTI = OOOVAL(3,3) 102 : CALL ECRENT(NTAACTI) 102 : CALL ECRENT(NBRACTI) 103 : GOTO 1 104 : c option SGAC IMPR statistiques relatives aux segments actifs 105 : 13 WRITE(IOIMP,*) 105 : CALL ERREUR(-308) 106 : DO 15 J =1,ILON 107 : IF(NACT(3,J).NE.0) THEN 108 : NACTI = NACT(1,J) / NACT(3,J) 109 : NTACT = NACT(2,J) / NACT(3,J) / 1000 110 : WRITE(IOIMP,14)MDIR(J),NACT(3,J),NACTI,NTACT 111 : 14 FORMAT(2X,A4,6X,I6,12X,I6,17X,I6) 112 : ENDIF 113 : 15 CONTINUE 114 : DO 16 J=1,ILON 115 : NACT(1,J) = 0 116 : NACT(2,J) = 0 117 : NACT(3,J) = 0 118 : 16 CONTINUE 119 : ENDIF 120 : c on retourne lire d'autres options 121 : GOTO 1 122 : END 123 : 124 :
© Cast3M 2003 - All rights reserved.
Disclaimer