51 integer ION,IOFF,IRESET,ISET,IADJST
52 parameter(ion=1,ioff=2,ireset=3,iset=4,iadjst=5)
54 integer i,iact,iflag,ival,ixsm,jx,jx1,jx2,lth
56 character*8 keywrd(nkeywd)
59 integer isfind,itrim,itemp(
mxspc)
61 double precision enorm
62 external enorm,ftoken,isfind,itoken,itrim
64 data keywrd /
'ON',
'OFF',
'RESET'/
69 call gettkn(line,token,lth)
77 ixsm=isfind(token,lth)
79 if (.not.itoken(token,lth,ival))
then
80 if (token(:lth).eq.
'ALL'.or.token(:lth).eq.
'*')
then
84 write(
luout,1001) token(:lth)
103 5
call gettkn(line,token,lth)
112 if (token(:lth).eq.keywrd(i)(:lth))
then
121 if (.not.ftoken(token,lth,fval))
then
122 write (
luout,1003) token(:itrim(token))
133 if (iact.eq.ireset)
then
136 else if (iact.eq.iadjst)
then
139 else if (iact.eq.ion)
then
141 else if (iact.eq.ioff)
then
143 else if (iact.eq.iset)
then
161 if (iact.eq.ion .or.iact.eq.iset .or.iact.eq.iadjst)
then
184 if (iact.eq.iadjst)
then
195 1000
format(
'*** Spectrum ID expected ***')
196 1001
format(
'*** Illegal index: ''',a,
''' ***')
197 1003
format(
'*** Illegal SHIFT value: ''',a,
''' ***')
198 1046
format(/10
x,
'Recalculated RMS deviation =',g12.5/)
subroutine lfun(m, n, x, fvec, fjac, ldfjac, iflag)
Subroutine for interfacing EPRLL spectral calculations with the MINPACK version of the Levenberg-Marq...
void FORTRAN() uncatchc(int *flag)
integer, dimension(mxspc), save ishft
double precision, dimension(mxspc), save tmpshft
double precision, dimension(mxspc), save shft
subroutine touppr(string, lth)
double precision, save fnorm
subroutine gettkn(line, token, lth)
Written for free-form input of parameters for slow-motional calculations. Returns a token consisting ...
double precision, dimension(mxpt, mxjcol), save fjac
double precision, dimension(mxpt), save fvec
void FORTRAN() catchc(int *flag)
integer, parameter luttyo
double precision, dimension(mxspc), save sb0
double precision, dimension(mxjcol), save x