home *** CD-ROM | disk | FTP | other *** search
- FUNCTION AGET(IIPOS)
- INTEGER SECT,POINT,BEGIN,GETSEC,EPOINT,BLANK,AGET,AGETW
- LOGICAL EOL,EOS,EOF,ERROR,INDEX,GETWRD
- COMMON /FRECNT/ LINE(80),SECT,EOL,EOS,EOF,
- 1ERROR,BLANK,ICOMMA,POINT,BEGIN,LENGTH,
- 2EPOINT,NSECT,LINENM,MAXSTR,KUNIT,JUNIT,IUNIT
- AGET = BLANK
- IPOSIT = IIPOS
- 500 IF (IPOSIT.GT.MAXSTR.OR.IPOSIT.LE.0) RETURN
- IF ((BEGIN+IPOSIT-1).LE.80) AGET = LINE (BEGIN+IPOSIT-1)
- AGETW = AGET
- RETURN
- END
- FUNCTION IGET(II)
- INTEGER SECT,POINT,BEGIN,GETSEC,EPOINT,BLANK,AGET,AGETW
- LOGICAL EOL,EOS,EOF,ERROR,INDEX,GETWRD,IGET,RGET,ERR1
- COMMON /FRECNT/ LINE(80),SECT,EOL,EOS,EOF,
- 1ERROR,BLANK,ICOMMA,POINT,BEGIN,LENGTH,
- 2EPOINT,NSECT,LINENM,MAXSTR,KUNIT,JUNIT,IUNIT
- COMMON/FRECNM/MULTIP
- LOGICAL MODE
- DOUBLE PRECISION RNUMBR,DECIMA
- DATA IPER/1H./,LETE/1HE/,LETD/1HD/
- II=0
- MODE = .FALSE.
- IGET = .FALSE.
- 100 IF(MULTIP.GT.0)GO TO 200
- IF (.NOT.GETWRD(GET001))RETURN
- IF (LENGTH.EQ.0) RETURN
- RNUMBR = DECIMA(ERROR)
- IF(MULTIP.GT.0)GO TO 200
- IF (ERROR.AND.EPOINT.EQ.1) EPOINT = BEGIN
- IF (MODE)XX = RNUMBR
- IF (.NOT.MODE) II = RNUMBR
- IGET=ERR1(ERR001)
- RGET=ERR1(ERR001)
- RETURN
- 200 MULTIP=MULTIP-1
- RETURN
- END
- FUNCTION AGETW(AGE001)
- INTEGER SECT,POINT,BEGIN,GETSEC,EPOINT,BLANK,AGET,AGETW
- LOGICAL EOL,EOS,EOF,ERROR,INDEX,GETWRD
- COMMON /FRECNT/ LINE(80),SECT,EOL,EOS,EOF,
- 1ERROR,BLANK,ICOMMA,POINT,BEGIN,LENGTH,
- 2EPOINT,NSECT,LINENM,MAXSTR,KUNIT,JUNIT,IUNIT
- AGETW = BLANK
- IPOSIT = 1
- IF (.NOT.GETWRD(GET001))RETURN
- IF (LENGTH.EQ.0) RETURN
- DO 450 ILOOP=BEGIN,80
- IF (LINE(ILOOP).EQ.ICOMMA) GO TO 460
- 450 CONTINUE
- 460 MAXSTR = ILOOP - BEGIN
- 500 IF (IPOSIT.GT.MAXSTR.OR.IPOSIT.LE.0) RETURN
- IF ((BEGIN+IPOSIT-1).LE.80) AGET = LINE (BEGIN+IPOSIT-1)
- AGETW = AGET
- RETURN
- END
- FUNCTION RGET(XX)
- INTEGER SECT,POINT,BEGIN,GETSEC,EPOINT,BLANK,AGET,A
- LOGICAL EOL,EOS,EOF,ERROR,INDEX,GETWRD,IGET,RGET,ERR1
- COMMON /FRECNT/ LINE(80),SECT,EOL,EOS,EOF,
- 1ERROR,BLANK,ICOMMA,POINT,BEGIN,LENGTH,
- 2EPOINT,NSECT,LINENM,MAXSTR,KUNIT,JUNIT,IUNIT
- COMMON/FRECNM/MULTIP
- LOGICAL MODE
- DOUBLE PRECISION RNUMBR,DECIMA
- DATA IPER/1H./,LETE/1HE/,LETD/1HD/
- MODE = .TRUE.
- RGET = .FALSE.
- XX=0.0
- 100 IF(MULTIP.GT.0)GO TO 200
- IF (.NOT.GETWRD(GET001))RETURN
- IF (LENGTH.EQ.0) RETURN
- RNUMBR = DECIMA(ERROR)
- IF(MULTIP.GT.0)GO TO 200
- IF (ERROR.AND.EPOINT.EQ.1) EPOINT = BEGIN
- IF (MODE)XX = RNUMBR
- IF (.NOT.MODE) II = RNUMBR
- IGET=ERR1(ERR001)
- RGET=ERR1(ERR001)
- RETURN
- 200 MULTIP=MULTIP-1
- RETURN
- END