File RDNUM.FT (FORTRAN source file)

Directory of image this file is from
This file as a plain text file

	SUBROUTINE RDNUM(REAL)
C
C	FORTRAN CALL:   CALL RDNUM(REAL)
C
C	ACTION: READS AN INTEGER FROM UNIT 4 INTO THE VARIABLE
C	"REAL"
C	NUMBERS ARE READ IN FREE FORMAT, THAT IS, A NUMBER IS ANY STRING
C	OF DIGITS WITH ANY NUMBER OF LEADING OR TRAILING NON-NUMERIC
C	CHARACTERS.
C	EXAMPLE: ANY OF THE FOLLOWING INPUT LINES WILL RETURN THE VALUES
C	1,2,3,4,5,6,7
C
C	1 2 3 4 5 6 7
C	1,2,3,4,5,6,7
C
C	1,2,3,4
C	5,6,7
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
	REAL=0.0
	ISIGN=1
	DIV=0.1
S\1001,	JMS	CHAR
	IF(IC)1099,1001,1099
1099	IF(IC-43)1002,1001,1002
1002	IF(IC-45)4,3,4
3	ISIGN=-ISIGN
	GO TO 1001
4	IF(IC-32)5,1001,5
S\11,	JMS	CHAR
5	IF(IC-46)6,1007,6
6	IF(IC-48)99,8,8
8	IF(IC-58)1009,99,99
C***	IT'S A DIGIT!!
1009	REAL=REAL*10.0+FLOAT(IC-48)
	GO TO 11
C
C***	PAST DECIMAL POINT ***
C
S\1007,	JMS	CHAR
	IF(IC-48)99,15,15
15	IF(IC-58)16,99,99
C***	DIGIT!
16	REAL=REAL+(DIV*FLOAT(IC-48))
	DIV=DIV/10.0
	GO TO 1007
C
C	END OF NUMBER, FIXUP SIGN
C
99	IF(ISIGN)100,101,101
100	REAL=-REAL
101	RETURN
C	SUBROUTINE 'CHAR': IC<-- EDITED CHAR
C	IGNORES CONTROL CHARS
SCHAR,	0	/ENTRY-EXIT
998	CALL CHRIO(-4,IC)
S	TAD	\IC
S	AND	(177
S	DCA	\IC
	IF(IC-13)996,997,996
996	IF(IC-32)998,997,997
997	CONTINUE
S	JMP I	CHAR	/RETURN
	END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search