Compucolor.org – Virtual Media

Listing of file='TEST.FOR;01' on disk='vmedia/fortran-sector.ccvf'

	PROGRAM FUNCT
C
C	INPUT FUNCTION CHOICE AND ARGUMENT(S)
C	OUTPUT VALUE OF FUNCTION
C
	DOUBLE PRECISION DX,DY,DX1,DX2
	BYTE K1,K2,K3,K4,L
C
	K1=17
	K2=18
	K3=19
	K4=22
C
998	WRITE(3)K1
	WRITE(3,1)
	WRITE(3)K2
	WRITE(3,2)
	WRITE(3,3)
	WRITE(3,4)
	WRITE(3,5)
	WRITE(3,6)
	WRITE(3,7)
	WRITE(3,8)
	WRITE(3,9)
	WRITE(3,10)
	WRITE(3,11)
	WRITE(3,12)
	WRITE(3,13)
	WRITE(3,14)
	WRITE(3,15)
	WRITE(3,16)
	WRITE(3,17)
	WRITE(3,18)
	WRITE(3,19)
	WRITE(3,20)
	WRITE(3,21)
	WRITE(3,22)
	WRITE(3,23)
	WRITE(3,24)
	WRITE(3)K4
	READ(3,25)I
	IF(I.EQ.0) STOP
	WRITE(3)K3
	GO TO (100,200,300,400,500,600,700,800,900,1000),I
	I=I-10
	GO TO (1100,1200,1300,1400,1500,1600,1700,1800),I
	I=I-8
	GO TO (1900,2000,2100,2200,2300,2400,2500,2600),I
	I=I-8
	GO TO (2700,2800,2900,3000,3100,3200,3300,3400),I
	I=I-8
	GO TO (3500,3600,3700,3800,3900,4000,4100,4200),I
	I=I-8
	GO TO (4300,4400,4500),I
	GO TO 999
100	WRITE(3,50)
	READ(3,51)X
	Y=ABS(X)
	WRITE(3,61)Y
	GO TO 999
200	WRITE(3,52)
	READ(3,53)I
	J=IABS(I)
	WRITE(3,63)J
	GO TO 999
300	WRITE(3,54)
	READ(3,55)DX
	DY=DABS(DX)
	WRITE(3,65)DY
	GO TO 999
400	WRITE(3,50)
	READ(3,51)X
	Y=AINT(X)
	WRITE(3,61)Y
	GO TO 999
500	WRITE(3,50)
	READ(3,51)X
	J=INT(X)
	WRITE(3,63)J
	GO TO 999
600	WRITE(3,54)
	READ(3,55)DX
	J=IDINT(DX)
	WRITE(3,63)J
	GO TO 999
700	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	Y=AMOD(X1,X2)
	WRITE(3,61)Y
	GO TO 999
800	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	J=MOD(I1,I2)
	WRITE(3,63)J
	GO TO 999
900	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	Y=AMAX0(I1,I2)
	WRITE(3,61)Y
	GO TO 999
1000	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	Y=AMAX1(X1,X2)
	WRITE(3,61)Y
	GO TO 999
1100	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	J=MAX0(I1,I2)
	WRITE(3,63)J
	GO TO 999
1200	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	J=MAX1(X1,X2)
	WRITE(3,63)J
	GO TO 999
1300	WRITE(3,54)
	READ(3,55)DX1
	WRITE(3,54)
	READ(3,55)DX2
	DY=DMAX1(DX1,DX2)
	WRITE(3,65)DY
	GO TO 999
1400	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	Y=AMIN0(I1,I2)
	WRITE(3,61)Y
	GO TO 999
1500	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	Y=AMIN1(X1,X2)
	WRITE(3,61)Y
	GO TO 999
1600	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	J=MIN0(I1,I2)
	WRITE(3,63)J
	GO TO 999
1700	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	J=MIN1(X1,X2)
	WRITE(3,63)J
	GO TO 999
1800	WRITE(3,54)
	READ(3,55)DX1
	WRITE(3,54)
	READ(3,55)DX2
	DY=DMIN1(DX1,DX2)
	WRITE(3,65)DY
	GO TO 999
1900	WRITE(3,52)
	READ(3,53)I
	Y=FLOAT(I)
	WRITE(3,61)Y
	GO TO 999
2000	WRITE(3,50)
	READ(3,51)X
	J=IFIX(X)
	WRITE(3,63)J
	GO TO 999
2100	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	Y=SIGN(X1,X2)
	WRITE(3,61)Y
	GO TO 999
2200	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	J=ISIGN(I1,I2)
	WRITE(3,63)J
	GO TO 999
2300	WRITE(3,54)
	READ(3,55)DX1
	WRITE(3,54)
	READ(3,55)DX2
	DY=DSIGN(DX1,DX2)
	WRITE(3,65)DY
	GO TO 999
2400	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	Y=DIM(X1,X2)
	WRITE(3,61)Y
	GO TO 999
2500	WRITE(3,52)
	READ(3,53)I1
	WRITE(3,52)
	READ(3,53)I2
	J=IDIM(I1,I2)
	WRITE(3,63)J
	GO TO 999
2600	WRITE(3,54)
	READ(3,55)DX
	Y=SNGL(DX)
	WRITE(3,61)Y
	GO TO 999
2700	WRITE(3,50)
	READ(3,51)X
	DY=DBLE(X)
	WRITE(3,65)DY
	GO TO 999
2800	WRITE(3,50)
	READ(3,51)X
	Y=EXP(X)
	WRITE(3,61)Y
	GO TO 999
2900	WRITE(3,54)
	READ(3,55)DX
	DY=DEXP(DX)
	WRITE(3,65)DY
	GO TO 999
3000	WRITE(3,50)
	READ(3,51)X
	Y=ALOG(X)
	WRITE(3,61)Y
	GO TO 999
3100	WRITE(3,54)
	READ(3,55)DX
	DY=DLOG(DX)
	WRITE(3,65)DY
	GO TO 999
3200	WRITE(3,50)
	READ(3,51)X
	Y=ALOG10(X)
	WRITE(3,61)Y
	GO TO 999
3300	WRITE(3,54)
	READ(3,55)DX
	DY=DLOG10(DX)
	WRITE(3,65)DY
	GO TO 999
3400	WRITE(3,50)
	READ(3,51)X
	Y=SIN(X)
	WRITE(3,61)Y
	GO TO 999
3500	WRITE(3,54)
	READ(3,55)DX
	DY=DSIN(DX)
	WRITE(3,65)DY
	GO TO 999
3600	WRITE(3,50)
	READ(3,51)X
	Y=COS(X)
	WRITE(3,61)Y
	GO TO 999
3700	WRITE(3,54)
	READ(3,55)DX
	DY=DCOS(DX)
	WRITE(3,65)DY
	GO TO 999
3800	WRITE(3,50)
	READ(3,51)X
	Y=TANH(X)
	WRITE(3,61)Y
	GO TO 999
3900	WRITE(3,50)
	READ(3,51)X
	Y=SQRT(X)
	WRITE(3,61)Y
	GO TO 999
4000	WRITE(3,54)
	READ(3,55)DX
	DY=DSQRT(DX)
	WRITE(3,65)DY
	GO TO 999
4100	WRITE(3,50)
	READ(3,51)X
	Y=ATAN(X)
	WRITE(3,61)Y
	GO TO 999
4200	WRITE(3,54)
	READ(3,55)DX
	DY=DATAN(DX)
	WRITE(3,65)DY
	GO TO 999
4300	WRITE(3,50)
	READ(3,51)X1
	WRITE(3,50)
	READ(3,51)X2
	Y=ATAN2(X1,X2)
	WRITE(3,61)Y
	GO TO 999
4400	WRITE(3,54)
	READ(3,55)DX1
	WRITE(3,54)
	READ(3,55)DX2
	DY=DATAN2(DX1,DX2)
	WRITE(3,65)DY
	GO TO 999
4500	WRITE(3,54)
	READ(3,55)DX1
	WRITE(3,54)
	READ(3,55)DX2
	DY=DMOD(DX1,DX2)
	WRITE(3,65)DY
999	WRITE(3)K1
	WRITE(3,90)
	READ(3,91)L
	GO TO 998
C
1	FORMAT('XENTER NO. OF DESIRED FUNCTION (OR 0 TO END):')
2	FORMAT('01  - ABS	24 - DIM')
3	FORMAT('X2  - IABS	25 - IDIM')
4	FORMAT('X3  - DABS	26 - SNGL')
5	FORMAT('X4  - AINT	27 - DBLE')
6	FORMAT('X5  - INT	28 - EXP')
7	FORMAT('X6  - IDINT	29 - DEXP')
8	FORMAT('X7  - AMOD	30 - ALOG')
9	FORMAT('X8  - MOD	31 - DLOG')
10	FORMAT('X9  - AMAX0	32 - ALOG10')
11	FORMAT('X10 - AMAX1	33 - DLOG10')
12	FORMAT('X11 - MAX0	34 - SIN')
13	FORMAT('X12 - MAX1	35 - DSIN')
14	FORMAT('X13 - DMAX1	36 - COS')
15	FORMAT('X14 - AMIN0	37 - DCOS')
16	FORMAT('X15 - AMIN1	38 - TANH')
17	FORMAT('X16 - MIN0	39 - SQRT')
18	FORMAT('X17 - MIN1	40 - DSQRT')
19	FORMAT('X18 - DMIN1	41 - ATAN')
20	FORMAT('X19 - FLOAT	42 - DATAN')
21	FORMAT('X20 - IFIX	43 - ATAN2')
22	FORMAT('X21 - SIGN	44 - DATAN2')
23	FORMAT('X22 - ISIGN	45 - DMOD')
24	FORMAT('X23 - DSIGN'//)
25	FORMAT(I3)
50	FORMAT('+INPUT A REAL NUMBER: ')
51	FORMAT(F10.0)
52	FORMAT('+INPUT AN INTEGER: ')
53	FORMAT(I5)
54	FORMAT('+INPUT A DOUBLE PRECISION NUMBER: ')
55	FORMAT(F20.0)
61	FORMAT(' ',F10.5)
63	FORMAT(' ',I5)
65	FORMAT(' ',F20.8)
90	FORMAT('XPRESS ''RETURN'' TWICE TO CONTINUE')
91	FORMAT(A1)
	END