8 SUBROUTINE pyspli(KF,KFLIN,KFLCH,KFLSP)
11 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
17 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
25 kfl(1)=mod(kfa/1000,10)
26 kfl(2)=mod(kfa/100,10)
28 IF(kfa.EQ.22.AND.
mint(109).EQ.2)
THEN
29 kfl(2)=int(1.5d0+
pyr(0))
30 IF(
mint(105).EQ.333) kfl(2)=3
31 IF(
mint(105).EQ.443) kfl(2)=4
33 ELSEIF((kfa.EQ.111.OR.kfa.EQ.113).AND.
pyr(0).GT.0.5d0)
THEN
36 ELSEIF(kfa.EQ.223.AND.
pyr(0).GT.0.5d0)
THEN
39 ELSEIF((kfa.EQ.130.OR.kfa.EQ.310).AND.
pyr(0).GT.0.5d0)
THEN
41 kfl(3)=mod(kfa/100,10)
43 IF(kflin.NE.21.AND.kflin.NE.22.AND.kflin.NE.23)
THEN
51 IF(kfa.GE.11.AND.kfa.LE.18)
THEN
54 ELSEIF(kflr.EQ.22)
THEN
56 ELSEIF(kflr.EQ.-24.AND.mod(kfa,2).EQ.1)
THEN
58 ELSEIF(kflr.EQ.24.AND.mod(kfa,2).EQ.0)
THEN
60 ELSEIF(kflr.EQ.21)
THEN
69 ELSEIF(kfa.EQ.22.AND.
mint(109).NE.2)
THEN
75 IF(ragr.GT.0.125d0) kflsp=2
76 IF(ragr.GT.0.625d0) kflsp=3
77 IF(
pyr(0).GT.0.5d0) kflsp=-kflsp
82 ELSEIF(kfa.EQ.110.OR.kfa.EQ.990)
THEN
90 ELSEIF(kfl(1).EQ.0)
THEN
91 kfl(2)=kfl(2)*(-1)**kfl(2)
92 kfl(3)=-kfl(3)*(-1)**iabs(kfl(2))
93 IF(kflr.EQ.kfl(2))
THEN
95 ELSEIF(kflr.EQ.kfl(3))
THEN
97 ELSEIF(kflr.EQ.21.AND.
pyr(0).GT.0.5d0)
THEN
100 ELSEIF(kflr.EQ.21)
THEN
103 ELSEIF(kflr*kfl(2).GT.0)
THEN
106 CALL
pykfdi(-kflr,kfl(2),kfdump,kflch)
107 IF(kflch.EQ.0.AND.
ntry.LT.100)
THEN
109 ELSEIF(kflch.EQ.0)
THEN
110 CALL
pyerrm(14,
'(PYSPLI:) caught in infinite loop')
118 CALL
pykfdi(-kflr,kfl(3),kfdump,kflch)
119 IF(kflch.EQ.0.AND.
ntry.LT.100)
THEN
121 ELSEIF(kflch.EQ.0)
THEN
122 CALL
pyerrm(14,
'(PYSPLI:) caught in infinite loop')
131 ELSEIF(kflin.EQ.22.AND.
mstp(98).EQ.1)
then
139 IF(kflr.EQ.kfl(
j)) nagr=nagr+1
142 ragr=0.00001d0+(nagr-0.00002d0)*
pyr(0)
145 IF(kflr.EQ.kfl(
j)) ragr=ragr-1d0
146 IF(iagr.EQ.0.AND.ragr.LE.0d0) iagr=
j
149 iagr=1.00001d0+2.99998d0*
pyr(0)
153 IF(iagr.EQ.1.AND.kfl(3).GT.kfl(2)) id1=3
156 IF(mod(kfa,10).EQ.2.AND.kfl(1).EQ.kfl(2))
THEN
157 IF(iagr.NE.3.AND.
pyr(0).GT.0.25d0) ksp=1
158 ELSEIF(mod(kfa,10).EQ.2.AND.kfl(2).GE.kfl(3))
THEN
159 IF(iagr.NE.1.AND.
pyr(0).GT.0.25d0) ksp=1
160 ELSEIF(mod(kfa,10).EQ.2)
THEN
162 IF(iagr.NE.1.AND.
pyr(0).GT.0.75d0) ksp=1
164 kflsp=1000*kfl(id1)+100*kfl(id2)+ksp
167 ELSEIF(nagr.EQ.0.AND.kflr.GT.0)
THEN
170 CALL
pykfdi(-kflr,kfl(iagr),kfdump,kflch)
171 IF(kflch.EQ.0.AND.
ntry.LT.100)
THEN
173 ELSEIF(kflch.EQ.0)
THEN
174 CALL
pyerrm(14,
'(PYSPLI:) caught in infinite loop')
178 ELSEIF(nagr.EQ.0)
THEN
181 CALL
pykfdi(10000*kfl(id1)+kflsp,-kflr,kfdump,kflch)
182 IF(kflch.EQ.0.AND.
ntry.LT.100)
THEN
184 ELSEIF(kflch.EQ.0)
THEN
185 CALL
pyerrm(14,
'(PYSPLI:) caught in infinite loop')