preact
C PREACT SOURCE PV090527 23/12/14 21:15:04 11208 C AJOUTE UN ELEMENT DANS UN SEGMENT S'IL N'Y EST DEJA C IMPLICIT INTEGER(I-N) SEGMENT ITAB(NNN),ISEG(0) ILONG=ITAB(1) C Verification que le SEGMENT ne soit pas deja dans ITAB(2:ILONG) DO 2 I=ilong,max(ilong-64,2),-1 IF(ITAB(I).NE.IEL) GOTO 2 * write (6,*) 'preact segment deja en queue',ilong-i return 2 CONTINUE C Mise en queue d'activation du SEGMENT IEL ILONG=ILONG+1 IF(ILONG .GT. ITAB(/1))THEN NNN=ILONG*2 + 50 SEGADJ,ITAB ENDIF ITAB(1) =ILONG ITAB(ILONG)=IEL RETURN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VIDE LE BUFFER DE SEGACT ! CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ENTRY FINACT(ITAB) 10 continue ILONG=ITAB(1) IF(ILONG .EQ. 1)RETURN C Positionnement du PERSISTANT LOCK CALL oooprl(1) DO II=2,ILONG ISEG=ITAB(II) SEGACT,ISEG ENDDO C Retrait du PERSISTANT LOCK CALL oooprl(0) ITAB(1)=1 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales