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