7 common/lujets/
n,
k(9000,5),
p(9000,5),
v(9000,5)
9 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
11 common/ludat2/kchg(500,3),pmas(500,4),parf(2000),vckm(4,4)
13 common/ludat3/mdcy(500,3),mdme(2000,2),brat(2000),kfdp(2000,5)
15 common/ludat4/chaf(500)
18 CHARACTER chin*(*),chfix*104,chbit*104,chold*8,chnew*8,
19 &chnam*4,chvar(17)*4,chalp(2)*26,chind*8,chini*10,chinr*16
20 DATA chvar/
'N',
'K',
'P',
'V',
'MSTU',
'PARU',
'MSTJ',
'PARJ',
'KCHG',
21 &
'PMAS',
'PARF',
'VCKM',
'MDCY',
'MDME',
'BRAT',
'KFDP',
'CHAF'/
22 DATA chalp/
'abcdefghijklmnopqrstuvwxyz',
23 &
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
26 IF(mstu(12).GE.1) CALL
lulist(0)
30 IF(chbit(lbit:lbit).EQ.
' ') goto 100
33 IF(chbit(lcom:lcom).EQ.
' ') goto 110
35 chfix(ltot:ltot)=chbit(lcom:lcom)
40 IF(lhig.LE.ltot.AND.chfix(lhig:lhig).NE.
';') goto 130
42 chbit(1:lbit)=chfix(llow+1:lhig-1)
47 IF(chbit(lnam:lnam).NE.
'('.AND.chbit(lnam:lnam).NE.
'='.AND.
49 chnam=chbit(1:lnam-1)//
' '
52 150
IF(chnam(lcom:lcom).EQ.chalp(1)(lalp:lalp)) chnam(lcom:lcom)=
56 160
IF(chnam.EQ.chvar(iv)) ivar=iv
58 CALL
luerrm(18,
'(LUGIVE:) do not recognize variable '//chnam)
60 IF(llow.LT.ltot) goto 120
67 IF(chbit(lnam:lnam).EQ.
'(')
THEN
70 IF(chbit(lind:lind).NE.
')'.AND.chbit(lind:lind).NE.
',') goto 170
72 IF((chbit(lnam+1:lnam+1).EQ.
'C'.OR.chbit(lnam+1:lnam+1).EQ.
'c').
73 & and.(ivar.EQ.9.OR.ivar.EQ.10.OR.ivar.EQ.13.OR.ivar.EQ.17))
THEN
74 chind(lnam-lind+11:8)=chbit(lnam+2:lind-1)
78 chind(lnam-lind+10:8)=chbit(lnam+1:lind-1)
82 IF(chbit(lnam:lnam).EQ.
')') lnam=lnam+1
84 IF(chbit(lnam:lnam).EQ.
',')
THEN
87 IF(chbit(lind:lind).NE.
')'.AND.chbit(lind:lind).NE.
',') goto 180
89 chind(lnam-lind+10:8)=chbit(lnam+1:lind-1)
96 IF(chbit(lnam:lnam).NE.
'=') goto 190
98 IF(
i.NE.0.OR.
j.NE.0) goto 190
100 ELSEIF(ivar.EQ.2)
THEN
101 IF(
i.LT.1.OR.
i.GT.mstu(4).OR.
j.LT.1.OR.
j.GT.5) goto 190
103 ELSEIF(ivar.EQ.3)
THEN
104 IF(
i.LT.1.OR.
i.GT.mstu(4).OR.
j.LT.1.OR.
j.GT.5) goto 190
106 ELSEIF(ivar.EQ.4)
THEN
107 IF(
i.LT.1.OR.
i.GT.mstu(4).OR.
j.LT.1.OR.
j.GT.5) goto 190
109 ELSEIF(ivar.EQ.5)
THEN
110 IF(
i.LT.1.OR.
i.GT.200.OR.
j.NE.0) goto 190
112 ELSEIF(ivar.EQ.6)
THEN
113 IF(
i.LT.1.OR.
i.GT.200.OR.
j.NE.0) goto 190
115 ELSEIF(ivar.EQ.7)
THEN
116 IF(
i.LT.1.OR.
i.GT.200.OR.
j.NE.0) goto 190
118 ELSEIF(ivar.EQ.8)
THEN
119 IF(
i.LT.1.OR.
i.GT.200.OR.
j.NE.0) goto 190
121 ELSEIF(ivar.EQ.9)
THEN
122 IF(
i.LT.1.OR.
i.GT.mstu(6).OR.
j.LT.1.OR.
j.GT.3) goto 190
124 ELSEIF(ivar.EQ.10)
THEN
125 IF(
i.LT.1.OR.
i.GT.mstu(6).OR.
j.LT.1.OR.
j.GT.4) goto 190
127 ELSEIF(ivar.EQ.11)
THEN
128 IF(
i.LT.1.OR.
i.GT.2000.OR.
j.NE.0) goto 190
130 ELSEIF(ivar.EQ.12)
THEN
131 IF(
i.LT.1.OR.
i.GT.4.OR.
j.LT.1.OR.
j.GT.4) goto 190
133 ELSEIF(ivar.EQ.13)
THEN
134 IF(
i.LT.1.OR.
i.GT.mstu(6).OR.
j.LT.1.OR.
j.GT.3) goto 190
136 ELSEIF(ivar.EQ.14)
THEN
137 IF(
i.LT.1.OR.
i.GT.mstu(7).OR.
j.LT.1.OR.
j.GT.2) goto 190
139 ELSEIF(ivar.EQ.15)
THEN
140 IF(
i.LT.1.OR.
i.GT.mstu(7).OR.
j.NE.0) goto 190
142 ELSEIF(ivar.EQ.16)
THEN
143 IF(
i.LT.1.OR.
i.GT.mstu(7).OR.
j.LT.1.OR.
j.GT.5) goto 190
145 ELSEIF(ivar.EQ.17)
THEN
146 IF(
i.LT.1.OR.
i.GT.mstu(6).OR.
j.NE.0) goto 190
150 190
IF(ierr.EQ.1)
THEN
151 CALL
luerrm(18,
'(LUGIVE:) unallowed indices for '//
154 IF(llow.LT.ltot) goto 120
159 IF(lnam.GE.lbit)
THEN
161 chbit(15:60)=
' has the value '
162 IF(ivar.EQ.1.OR.ivar.EQ.2.OR.ivar.EQ.5.OR.ivar.EQ.7.OR.
163 & ivar.EQ.9.OR.ivar.EQ.13.OR.ivar.EQ.14.OR.ivar.EQ.16)
THEN
164 WRITE(chbit(51:60),
'(I10)') iold
165 ELSEIF(ivar.NE.17)
THEN
166 WRITE(chbit(47:60),
'(F14.5)') rold
170 IF(mstu(13).GE.1)
WRITE(mstu(11),1000) chbit(1:60)
172 IF(llow.LT.ltot) goto 120
177 IF(ivar.EQ.1.OR.ivar.EQ.2.OR.ivar.EQ.5.OR.ivar.EQ.7.OR.
178 &ivar.EQ.9.OR.ivar.EQ.13.OR.ivar.EQ.14.OR.ivar.EQ.16)
THEN
180 chini(lnam-lbit+11:10)=chbit(lnam+1:lbit)
181 READ(chini,
'(I10)') inew
182 ELSEIF(ivar.NE.17)
THEN
184 chinr(lnam-lbit+17:16)=chbit(lnam+1:lbit)
185 READ(chinr,
'(F16.2)') rnew
187 chnew=chbit(lnam+1:lbit)//
' '
193 ELSEIF(ivar.EQ.2)
THEN
195 ELSEIF(ivar.EQ.3)
THEN
197 ELSEIF(ivar.EQ.4)
THEN
199 ELSEIF(ivar.EQ.5)
THEN
201 ELSEIF(ivar.EQ.6)
THEN
203 ELSEIF(ivar.EQ.7)
THEN
205 ELSEIF(ivar.EQ.8)
THEN
207 ELSEIF(ivar.EQ.9)
THEN
209 ELSEIF(ivar.EQ.10)
THEN
211 ELSEIF(ivar.EQ.11)
THEN
213 ELSEIF(ivar.EQ.12)
THEN
215 ELSEIF(ivar.EQ.13)
THEN
217 ELSEIF(ivar.EQ.14)
THEN
219 ELSEIF(ivar.EQ.15)
THEN
221 ELSEIF(ivar.EQ.16)
THEN
223 ELSEIF(ivar.EQ.17)
THEN
229 chbit(15:60)=
' changed from to '
230 IF(ivar.EQ.1.OR.ivar.EQ.2.OR.ivar.EQ.5.OR.ivar.EQ.7.OR.
231 &ivar.EQ.9.OR.ivar.EQ.13.OR.ivar.EQ.14.OR.ivar.EQ.16)
THEN
232 WRITE(chbit(33:42),
'(I10)') iold
233 WRITE(chbit(51:60),
'(I10)') inew
234 ELSEIF(ivar.NE.17)
THEN
235 WRITE(chbit(29:42),
'(F14.5)') rold
236 WRITE(chbit(47:60),
'(F14.5)') rnew
241 IF(mstu(13).GE.1)
WRITE(mstu(11),1000) chbit(1:60)
243 IF(llow.LT.ltot) goto 120