1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-02 17:44:40 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

100 lines
7.8 KiB
Plaintext

BEGIN MAIN0010
MAIN0020
COMMENT ROBERT R. HAMMERS , MAIN0030
(PROFESSIONAL SERVICES GROUP) , MAIN0040
BURROUGHS CORPORATION , PASADENA MAIN0050
MAIN0060
MAIN0070
CARD SEQUENCE BEGINS WITH MAIN0010 FOR MAIN PROGRAM MAIN0080
CARD SEQUENCE BEGINS WITH CONT0010 FOR THE PROCEDURE MAIN0090
MAIN0/T0
MAIN0110
FIRST RELEASE 5/1/64 ; MAIN0120
MAIN0130
MAIN0140
FILE IN F (1,10) ; MAIN0150
FILE OUT P 1(1,15) ; MAIN0160
MAIN0170
REAL C,D,R ; MAIN0180
INTEGER N,NN,N1,J,J1 ; MAIN0190
BOOLEAN BOOL ; MAIN0200
LABEL START,L,FINISH ; MAIN0210
MAIN0220
FORMAT IN F1 (I10) , F2 (4E20.12) ; MAIN0230
FORMAT OUT P1 (//"THE DEGREE OF EACH INPUT POLYNOMIAL IS",I4/ MAIN0240
"THE COEFFICIENTS OF THE INPUT POLYNOMIALS ARE") ,MAIN0250
P2("A[",I2," ]=",F15.8,X10,"B[",I2," ]=",F15.8,I1) ,MAIN0260
P3("FOLLOWING ARE THE COEFFICIENTS OF THE CONTINUED" ,MAIN0270
" FRACTION"/X9,"C",X9,"D") ,MAIN0280
P35 (" R U N C O M P L E T E") ,MAIN0290
P4 (3F15.10) ,MAIN0300
P5("A DIVISION BY ZERO HAS OCCURED IN ONE OF THE" ,MAIN0310
" TRANSFORMATIONS") ;MAIN0320
MAIN0330
COMMENT WHEN ALL THE DATA SETS ARE COMPLETED A BLANK IS READ MAIN0340
SETTING N TO 0 AND " RUN COMPLETE " IS PRINTED OUT ; MAIN0350
MAIN0360
START: READ (F,F1,N) ; IF N { 0 THEN GO TO FINISH ELSE MAIN0370
WRITE (P,P1,N) ; MAIN0380
MAIN0390
BEGIN MAIN0400
MAIN0410
REAL ARRAY A,B[0:N] ; MAIN0420
MAIN0430
PROCEDURE CONTINUED (A,B,L) ; CONT0010
CONT0020
REAL ARRAY A,B[0] ; CONT0030
LABEL L ; CONT0040
CONT0050
BEGIN CONT0060
CONT0070
COMMENT IF B[NN] = 0 THEN A DIVISION BY ZERO WOULD BE NECESSARY TOCONT0080
CONTINUE , THEREFORE A BRANCH IS MADE , THE CONDITION IS CONT0090
PRINTED OUT AND THE NEXT DATA SET READ IN ; CONT0/T0
CONT0110
IF (R ~ B[NN]) = 0 THEN GO TO L ELSE R ~ 1/R ; CONT0120
C ~ A[NN]|R ; CONT0130
D ~ A[N1~NN-1] ~ A[N1]-C|B[N1] ; CONT0140
D ~ R|D ; CONT0150
CONT0160
FOR J ~ N1 STEP -1 UNTIL 1 DO CONT0170
BEGIN CONT0180
R ~ A[J1~J-1] ~ A[J1]-C|B[J1] ; CONT0190
B[J] ~ D|B[J]-R CONT0200
END ; CONT0210
B[0] ~ D|B[0] CONT0220
END ; CONT0230
MAIN0440
COMMENT ALTERNATE COEFFICIENTS OF A AND B ARE READ STARTING WITH MAIN0450
A[0],B[0],A[1], ........ ,A[N],B[N] ; MAIN0460
MAIN0470
READ (F,F2,FOR J ~ 0 STEP 1 UNTIL N DO [A[J],B[J]]) ;MAIN0480
MAIN0490
BOOL ~ TRUE ; MAIN0500
MAIN0510
FOR J ~ 0 STEP 1 UNTIL N DO MAIN0520
WRITE (P,P2,J,A[J],J,B[J]) ; MAIN0530
WRITE (P,P3) ; MAIN0540
MAIN0550
FOR NN ~ N STEP -1 UNTIL 1 DO MAIN0560
BEGIN MAIN0570
IF BOOL THEN MAIN0580
BEGIN MAIN0590
CONTINUED (A,B,L) ; BOOL ~ FALSE MAIN0600
END ELSE MAIN0610
BEGIN MAIN0620
CONTINUED (B,A,L) ; BOOL ~ TRUE MAIN0630
END ; MAIN0640
MAIN0650
WRITE (P,P4,C,D) MAIN0660
END ; MAIN0670
C ~ IF BOOL THEN A[0]/B[0] ELSE B[0]/A[0] ; MAIN0680
WRITE (P,P4,C) ; GO TO START MAIN0690
END ; MAIN0700
MAIN0710
L: WRITE (P,P5) ; GO TO START ; MAIN0720
MAIN0730
FINISH: WRITE (P,P35) MAIN0740
MAIN0750
END . MAIN0760