16 subroutine letc( line )
32 integer i,ileft,irt,ival,ixf,ixr,ixr2,ixs,ixt,ixxa,
33 # lth,llth,left(mxlft),leftx(mxlft)
35 character token*30,prmID*9
38 integer ipfind,isfind,indtkn,itrim,ixlim
39 double precision getprm
40 logical ftoken,itoken,tcheck,spcpar
42 external ftoken,itoken,tcheck,ipfind,isfind,itrim,indtkn,
43 # spcpar,ptype,ixlim,getprm
54 1
call gettkn(line,token,lth)
77 if (token.eq.
')' .or. (logflg.and.token.eq.
'('))
goto 1
79 if (token.eq.
'LOG'.and.rhs)
then
87 if (token.eq.
'=')
then
105 if (ixr2.lt.1) ixr2=0
110 if (ixr.lt.-100 .and. ixr.gt.-200)
then
112 else if (ixr.lt.0)
then
114 else if (ixr.gt.100)
then
116 else if (ixr.gt.0 .and. ixr.lt.100)
then
128 if (.not.ftoken(token,lth,fval))
then
129 write(
luttyo,1004) token(:lth)
132 if (fval.gt.0.0d0)
then
147 ixs=isfind(token,lth)
149 if (ixs.gt.0) ival=
symval(ixs)
150 if (ixs.lt.0) ival=abs(ixs)
155 else if (.not.itoken(token,lth,ival))
then
156 write(
luttyo,1005) token(:lth)
166 if (tcheck(ixr,ixr2,prmid,
luout))
then
180 ixxa=
ixx(iabs(mod(ixr,100)),ixr2+1)
181 if (ixxa.gt.0 .and. (ixr2.ge.1 .and.
ixst(ixxa).lt.1))
186 if (getprm(ixr,i).ne.getprm(ixr,1))
then
195 2
call setprm(ixr,ixr2,fval)
203 call setipr(ixr,ixr2,ival)
213 if (irt.ge.ileft)
return
219 else if (ileft.le.mxlft)
then
220 left(ileft)=ipfind(token,lth)
221 if (left(ileft).eq.0)
write (
luttyo,1003) token(:lth)
222 leftx(ileft)=indtkn(line)
229 1000
format(
'*** Not enough values specified ***')
230 1001
format(
'*** Variable name expected ***')
231 1002
format(
'*** No ''='' specified ***')
232 1003
format(
'*** ''',a,
''' is not a parameter ***')
233 1004
format(
'*** Real value expected: ''',a,
''' ***')
234 1005
format(
'*** Integer value expected: ''',a,
''' ***')
235 1011
format(
'*** Illegal log argument:',g12.5,
' ***')
236 1012
format(
'*** Warning: ',a,
' is being varied globally ***')
237 1013
format(
'*** Warning: ',a,
' is now the same for all ',a,
' ***')
integer, dimension(mxvar), save ixst
subroutine setipr(ixparm, ixsite, ival)
Analogous routine to setprm for integer parameters There are only two user-settable integer spectrum ...
character *6, dimension(nalias), save alias1
integer, dimension(nsymbl), save symval
subroutine touppr(string, lth)
subroutine gettkn(line, token, lth)
Written for free-form input of parameters for slow-motional calculations. Returns a token consisting ...
integer, parameter luttyo
integer, dimension(nfprm, mxsite), save ixx
subroutine setprm(ixparm, ixsite, fval)
This file contains two routines that set a given parameter, specified by an index into the fparm or i...
character *6, dimension(nfprm), save parnam
character *6, dimension(nalias), save alias2