Télécharger preact.eso

Retour à la liste

Numérotation des lignes :

preact
  1. C PREACT SOURCE PV090527 23/12/14 21:15:04 11208
  2.  
  3. C AJOUTE UN ELEMENT DANS UN SEGMENT S'IL N'Y EST DEJA
  4. C
  5. SUBROUTINE PREACT(ITAB,IEL)
  6.  
  7. IMPLICIT INTEGER(I-N)
  8.  
  9. SEGMENT ITAB(NNN),ISEG(0)
  10.  
  11. IF(IEL .LE. 0)CALL ERREUR(5)
  12.  
  13. ILONG=ITAB(1)
  14. C Verification que le SEGMENT ne soit pas deja dans ITAB(2:ILONG)
  15. DO 2 I=ilong,max(ilong-64,2),-1
  16. IF(ITAB(I).NE.IEL) GOTO 2
  17. * write (6,*) 'preact segment deja en queue',ilong-i
  18. return
  19. 2 CONTINUE
  20.  
  21. C Mise en queue d'activation du SEGMENT IEL
  22. ILONG=ILONG+1
  23. IF(ILONG .GT. ITAB(/1))THEN
  24. NNN=ILONG*2 + 50
  25. SEGADJ,ITAB
  26. ENDIF
  27. ITAB(1) =ILONG
  28. ITAB(ILONG)=IEL
  29. RETURN
  30.  
  31. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  32. C VIDE LE BUFFER DE SEGACT !
  33. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  34. ENTRY FINACT(ITAB)
  35. 10 continue
  36. ILONG=ITAB(1)
  37. IF(ILONG .EQ. 1)RETURN
  38. IF(ILONG .EQ. 0)CALL ERREUR(5)
  39. C Positionnement du PERSISTANT LOCK
  40. CALL oooprl(1)
  41. DO II=2,ILONG
  42. ISEG=ITAB(II)
  43. SEGACT,ISEG
  44. ENDDO
  45. C Retrait du PERSISTANT LOCK
  46. CALL oooprl(0)
  47. ITAB(1)=1
  48. END
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  

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