Go to the source code of this file.
|
subroutine | mncrck (CRDBUF, MAXCWD, COMAND, LNC, MXP, PLIST, LLIST, IERR, ISYSWR) |
|
◆ mncrck()
subroutine mncrck |
( |
character*(*) |
CRDBUF, |
|
|
|
MAXCWD, |
|
|
character*(*) |
COMAND, |
|
|
|
LNC, |
|
|
|
MXP, |
|
|
dimension(mxp) |
PLIST, |
|
|
|
LLIST, |
|
|
|
IERR, |
|
|
|
ISYSWR |
|
) |
| |
Definition at line 11 of file mncrck.f.
References a, h, o, parameter(), and z.
Referenced by mncomd(), and mnpars().
24 IMPLICIT DOUBLE PRECISION (
a-
h,
o-
z)
37 CHARACTER*(*) comand, crdbuf
38 CHARACTER cnumer*13, celmnt(maxelm)*(mxlnel), cnull*15
39 dimension lelmnt(maxelm),plist(mxp)
40 DATA cnull /
')NULL STRING '/
41 DATA cnumer/
'123456789-.0+'/
48 DO 100 ipos= nextb,lend
50 IF (crdbuf(ipos:ipos).EQ.
' ')
GO TO 100
51 IF (crdbuf(ipos:ipos).EQ.
',')
GO TO 250
57 DO 180 ipos = ibegin+1,lend
58 IF (crdbuf(ipos:ipos).EQ.
' ')
GO TO 250
59 IF (crdbuf(ipos:ipos).EQ.
',')
GO TO 250
64 IF (iend .GE. ibegin)
THEN 65 celmnt(ielmnt) = crdbuf(ibegin:iend)
67 celmnt(ielmnt) = cnull
69 lelmnt(ielmnt) = iend-ibegin+1
70 IF (lelmnt(ielmnt) .GT. mxlnel)
THEN 71 WRITE (isyswr, 253) crdbuf(ibegin:iend),celmnt(ielmnt)
72 253
FORMAT (
' MINUIT WARNING: INPUT DATA WORD TOO LONG.' 74 + /
' TRUNCATED TO:',
a)
75 lelmnt(ielmnt) = mxlnel
77 IF (ipos .GE. lend)
GO TO 300
78 IF (ielmnt .GE. maxelm)
GO TO 300
80 DO 280 ipos= iend+1,lend
81 IF (crdbuf(ipos:ipos) .EQ.
' ')
GO TO 280
83 IF (crdbuf(ipos:ipos) .EQ.
',') nextb = ipos+1
94 IF (ielmnt .EQ. 0)
GO TO 900
96 DO 400 ielmnt = 1, nelmnt
97 IF (celmnt(ielmnt) .EQ. cnull)
GO TO 450
99 IF (celmnt(ielmnt)(1:1) .EQ. cnumer(ic:ic))
GO TO 450
101 IF (kcmnd .GE. maxcwd)
GO TO 400
103 ltoadd = lelmnt(ielmnt)
104 IF (ltoadd .GT. left) ltoadd=left
105 comand(kcmnd+1:kcmnd+ltoadd) = celmnt(ielmnt)(1:ltoadd)
106 kcmnd = kcmnd + ltoadd
107 IF (kcmnd .EQ. maxcwd)
GO TO 400
109 comand(kcmnd:kcmnd) =
' ' 117 DO 600 ifld= ielmnt,nelmnt
119 IF (llist .GT. mxp)
THEN 120 nreq = nelmnt-ielmnt+1
121 WRITE (isyswr,511) nreq,mxp
122 511
FORMAT (/
' MINUIT WARNING IN MNCRCK: '/
' COMMAND HAS INPUT',i5,
123 +
' NUMERIC FIELDS, BUT MINUIT CAN ACCEPT ONLY',i3)
126 IF (celmnt(ifld) .EQ. cnull)
THEN 129 READ (celmnt(ifld),
'(BN,F19.0)',err=575) plist(llist)
132 575
WRITE (isyswr,
'(A,A,A)')
' FORMAT ERROR IN NUMERIC FIELD: "',
133 + celmnt(ifld)(1:lelmnt(ifld)),
'"' 139 IF (lnc .LE. 0) lnc=1
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
real(4), dimension(:), allocatable, save h