summaryrefslogblamecommitdiffstats
path: root/PALICE.FOR
blob: 61e19ee20154dee023fc04e284456ad47d59f3a8 (plain) (tree)















































































                                                       
	SUBROUTINE PALICE(IZV,N,IVRSTA,IPALIC,IZMA,KON)
	DIMENSION IZV(1),IPA(100)
	IZMA=0
	IMAK=0
	KON=0
	ISOTIC=0
	DO 10 I=1,N
	IF(IZV(I).GE.IMAK) THEN
	IVMAK=I
	IMAK=IZV(I)
	ENDIF
	ISOTIC=ISOTIC+IZV(I)
10	IPA(I)=IZV(I)
	IF(IMAK.EQ.0) THEN
	IZMA=1
	KON=1
	RETURN
	ENDIF
	IF(ISOTIC.EQ.0) KON=1
	J=0
	KODA=0
	DO 20 I=1,N
20	IF(IZV(I).GE.2) J=J+1
	IF(J.EQ.1) KODA=1
	IF(J.EQ.0) KODA=2
	LL=0
	DO 21 L=1,N
	IF(IPA(L).GT.0) LL=LL+1
21	CONTINUE
	ICC=MOD(LL,2)
	IF((KODA.EQ.1).AND.(IMAK.GT.1)) THEN
	IF(ICC.EQ.0) THEN
	IVRSTA=IVMAK
	IPALIC=IMAK
	IZMA=1
	RETURN
	ELSE
	IVRSTA=IVMAK
	IPALIC=IMAK-1
	IZMA=1
	RETURN
	ENDIF
	ENDIF
	DO 30 I=1,N
	IF(IPA(I).EQ.0) GO TO 30
	DO 25 J=1,IMAK
	IPA(I)=IPA(I)-J
	IF(IPA(I).EQ.-1) THEN
	IPA(I)=IPA(I)+J
	GO TO 30
	ENDIF
	CALL SRC(IPA,N,IND)
	IF((KODA.EQ.0).AND.(IND.EQ.0)) THEN
	IVRSTA=I
	IPALIC=J
	IZMA=1
	RETURN
	ENDIF
25	IPA(I)=IPA(I)+J
30	CONTINUE
	IF((KODA.EQ.2).AND.(ICC.EQ.0)) IZMA=1
C	IVRSTA=IVMAK
C	IPALIC=1
	CALL GETTIM(LU,LM,LS,L)
	IZN=1
	J=MOD(L,N)+1
40	IF(IPA(J).EQ.0) J=J+IZN
	IF(J.GT.N) THEN
	IZN=-1
	J=J-1
	GO TO 40
	ENDIF
	IF(IPA(J).NE.0) GO TO 50
	GO TO 40
50	IVRSTA=J
	IPALIC=1
	RETURN
	END