Description * 2DHF version 2-2005 * Copyright (C) 1996 Jacek Kobus, Leif Laaksonen, Dage Sundholm * * This software may be used and distributed according to the terms * of the GNU General Public License, see README and COPYING. * * ### card ### This routine reads a data card and scans it for nonspace fields. The number of fields is stored in jump, the starting point of a field in istrt(i) and the number of characters in that field in inumb(i). If the routine finds an exclamation mark anything following it is considered as a comment.
Source file: cardplus.f
I/O Operations: Unit ID Unit No Access Form Operation IINP5 SEQ FMTD R IOUT6 SEQ FMTD W Operation codes A=rewind,B=backspace,C=close,E=endfile I=inquire,O=open,R=read,W=write
External Functions and Subroutines Called SUBROUTINE LFTPOS, LOWCASE, TABCHK
Parameter Variables Used INTEGER I40 (I40 = 40) INTEGER I80 (I80 = 80)
Local Variables (+ indicates altered content) CHARACTER +HASH, +IATMP(80), +IBLNK, +IEXM INTEGER +I, +IKE, +ILE, +ISW INTEGER +IT
Referenced Common Block Variables (+ indicates altered content) IOCHAN INTEGER +IINP5, +IOUT6 WORK CHARACTER +IA(I80) WORK INTEGER +INUMB(I40) WORK INTEGER +ISTRT(I40) WORK INTEGER +JREC, +JUMP
Argument Definitions (+ indicates altered content) INTEGER ICHGECASE
Description This is a version of the card routine that allows to read data with the case of symbols preserved
Source file: cardplus.f
I/O Operations: Unit ID Unit No Access Form Operation IINP5 SEQ FMTD R IOUT6 SEQ FMTD W Operation codes A=rewind,B=backspace,C=close,E=endfile I=inquire,O=open,R=read,W=write
External Functions and Subroutines Called SUBROUTINE LFTPOS, LOWCASE, TABCHK
Parameter Variables Used INTEGER I40 (I40 = 40) INTEGER I80 (I80 = 80)
Local Variables (+ indicates altered content) CHARACTER +HASH, +IATMP(80), +IBLNK, +IEXM INTEGER +I, +IKE, +ILE, +ISW INTEGER +IT
Referenced Common Block Variables (+ indicates altered content) IOCHAN INTEGER +IINP5, +IOUT6 WORK CHARACTER +IA(I80) WORK INTEGER +INUMB(I40) WORK INTEGER +ISTRT(I40) WORK INTEGER +JREC, +JUMP
Argument Definitions (+ indicates altered content) CHARACTER +LINE(LENGTH) INTEGER LENGTH
Description ### lftpos ### Eliminates blanks to the left and left position chararcter string card.
Source file: cardplus.f
I/O Operations: Unit ID Unit No Access Form Operation 6 SEQ FMTD W Operation codes A=rewind,B=backspace,C=close,E=endfile I=inquire,O=open,R=read,W=write
Local Variables (+ indicates altered content) INTEGER +IEFF, +IPOS, +NTEST
Argument Definitions (+ indicates altered content) CHARACTER +LINE(LENGTH) INTEGER LENGTH
Description ### lowcas ### Converts letters in a character string line to the lower case.
Source file: cardplus.f
Local Variables (+ indicates altered content) CHARACTER +LOWER(26), +UPPER(26) INTEGER +I, +ICHA
Argument Definitions (+ indicates altered content) CHARACTER +LINE(LENGTH) INTEGER LENGTH
Description ### tabchk ### Searches for a tab in the string line and replace it by a space.
Source file: cardplus.f
Intrinsic Functions Called CHARACTER*8 CHAR
Local Variables (+ indicates altered content) CHARACTER +ITAB INTEGER +I
Argument Definitions (+ indicates altered content) CHARACTER*8 +GUF
Description * 2DHF version 2-2005 * Copyright (C) 1996 Jacek Kobus, Leif Laaksonen, Dage Sundholm * * This software may be used and distributed according to the terms * of the GNU General Public License, see README and COPYING. * * ### inpa ### This routine examines the contents of IA and extracts a character string of 8 chars. This string is stored in IBUF. The remaining non-blank characters (if any) are ignored.
Source file: cardplus.f
Parameter Variables Used INTEGER I40 (I40 = 40) INTEGER I80 (I80 = 80)
Local Variables (+ indicates altered content) CHARACTER +IALL(60), +IBLNK, +IBUF(8) CHARACTER*8 +IBUFR INTEGER +I, +N, +NSTRT
Referenced Equivalenced Variables (+ indicates altered content) EQUIV CHARACTER +IBUF() Local Var CHARACTER*8 +IBUFR Local Var
Referenced Common Block Variables (+ indicates altered content) WORK CHARACTER IA(I80) WORK INTEGER INUMB(I40) WORK INTEGER ISTRT(I40) WORK INTEGER +JREC, JUMP
Argument Definitions (+ indicates altered content) INTEGER +JBUF
Description * 2DHF version 2-2005 * Copyright (C) 1996 Jacek Kobus, Leif Laaksonen, Dage Sundholm * * This software may be used and distributed according to the terms * of the GNU General Public License, see README and COPYING. * * ### inpi ### This routine reads an integer from the array IA, starting at IA(istrt(jrec)) and continuing for inumb(jrec)) elements. Plus signs are ignored, the answer is accumulated in JBUF.
Source file: cardplus.f
I/O Operations: Unit ID Unit No Access Form Operation IOUT6 SEQ FMTD W Operation codes A=rewind,B=backspace,C=close,E=endfile I=inquire,O=open,R=read,W=write
Parameter Variables Used INTEGER I40 (I40 = 40) INTEGER I80 (I80 = 80)
Local Variables (+ indicates altered content) CHARACTER +ICHAR(14), +ITEMP INTEGER +I, +IFACT, +INPIEXIT, +IST INTEGER +J, +N, +NSTRT
Referenced Common Block Variables (+ indicates altered content) IOCHAN INTEGER IOUT6 WORK CHARACTER IA(I80) WORK INTEGER INUMB(I40) WORK INTEGER ISTRT(I40) WORK INTEGER +JREC, JUMP
Argument Definitions (+ indicates altered content) REAL*8 +BUF
Description * 2DHF version 2-2005 * Copyright (C) 1996 Jacek Kobus, Leif Laaksonen, Dage Sundholm * * This software may be used and distributed according to the terms * of the GNU General Public License, see README and COPYING. * * ### inpf ### Extracts a floating point number from an input card.
Source file: cardplus.f
I/O Operations: Unit ID Unit No Access Form Operation IOUT6 SEQ FMTD W Operation codes A=rewind,B=backspace,C=close,E=endfile I=inquire,O=open,R=read,W=write
Intrinsic Functions Called DOUBLE PRECISION DBLE
Parameter Variables Used INTEGER I40 (I40 = 40) INTEGER I80 (I80 = 80)
Local Variables (+ indicates altered content) CHARACTER +ICHAR(16), +ITEMP INTEGER +I, +IEXP, +IEXPDIG, +IST INTEGER +J, +LIMIT, +N, +NSTRT REAL*8 +EXPONENT, +FACT, +FACT2
Referenced Common Block Variables (+ indicates altered content) IOCHAN INTEGER IOUT6 WORK CHARACTER IA(I80) WORK INTEGER INUMB(I40) WORK INTEGER ISTRT(I40) WORK INTEGER +JREC, JUMP
Description subroutine inpf(buf) implicit integer*4 (i-n) implicit real*8 (a-h,o-z) parameter (i40=40, i80=80) character*1 ia,ichar(15),itemp common/iochan/ iinp5,iinp11,iinp12,iinp13,iinp14, & iout6,iout21,iout22,iout23,iout24 common/work/jrec,jump,istrt(i40),inumb(i40),ia(i80) data ichar/'0','1','2','3','4','5','6','7','8','9','+','&','^', &'-','.'/ limit=16 jrec = jrec + 1 if(jrec .gt. jump) go to 40 buf = 0.d0 fact2 = 0.d0 limit=15 n = inumb(jrec) fact = 1.d0 ist=istrt(jrec) nstrt = ist + n - 1 do i=1,n itemp = ia(nstrt) do j = 1,limit if(ichar(j).eq.itemp)goto 5 enddo 4 write(iout6,*) 'Error detected in inpf' stop 'inpf' 5 if(j.lt.11) goto 7 if(j.le.14) goto 6 fact2 = dble(i-1) limit=14 go to 9 6 if(nstrt .ne. ist) go to 4 if(j.eq.14)buf=-buf go to 20 7 buf = buf + dble(j-1) * fact fact=fact*10.d0 9 continue nstrt = nstrt - 1 enddo 20 buf=(0.1d0**fact2)*buf 40 return end * 2DHF version 2-2005 * Copyright (C) 1996 Jacek Kobus, Leif Laaksonen, Dage Sundholm * * This software may be used and distributed according to the terms * of the GNU General Public License, see README and COPYING. * * ### prtlabel ### This routine prints a label read by card
Source file: cardplus.f
I/O Operations: Unit ID Unit No Access Form Operation * SEQ FMTD W Operation codes A=rewind,B=backspace,C=close,E=endfile I=inquire,O=open,R=read,W=write
Parameter Variables Used INTEGER I40 (I40 = 40) INTEGER I80 (I80 = 80)
Local Variables (+ indicates altered content) INTEGER +I
Referenced Common Block Variables (+ indicates altered content) WORK CHARACTER IA(I80)