mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-02 17:44:40 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
1631 lines
129 KiB
Plaintext
1631 lines
129 KiB
Plaintext
BEGIN 00000100
|
|
COMMENT THE CUBE LIBRARY NUMBER IS T800012. THE PROGRAM NAME IS 00000200
|
|
BMD02R/DISK. THIS VERSION IS DATED 7/5/68; 00000300
|
|
% BMD02R ---- STEPWISE REGRESSION (ALGOL) 00000400
|
|
FORMAT F1(/"NO. OF INDEX PLOTS REQUESTED = ",I2," WHICH IS GREATER THAN"00000500
|
|
" ALLOWED."), 00000600
|
|
F2(/"A REQUEST HAS BEEN MADE TO PLOT VARIABLE",I3,". THIS IS GRE"00000700
|
|
"ATER THAN THE",I3," VARIABLES IDENTIFIED FOR THIS PROBLEM."), 00000800
|
|
F3(//"DATA ERROR. LAST DATA CARD READ IS PRINTED ABOVE."); 00000900
|
|
INTEGER ERRORIDENT; 00001000
|
|
BOOLEAN PAGEIT,FRFIELD; 00001100
|
|
LABEL NEXTPROB; 00001200
|
|
INTEGER DATAPRINT, OMITREGRESS; 00001300
|
|
FILE IN CARD (2,10); %9/69 MC00001400
|
|
DEFINE TAPE=CARD#; %9/69 MC00001500
|
|
FILE OUT PUNCH 4 (2,15) ; 00001600
|
|
FILE PRINT 4(2,15); 00001700
|
|
DEFINE LINE = PRINT # ; 00001800
|
|
INTEGER JN1,JNVA,BB,JN2; 00001900
|
|
FORMAT DB1(//10R12.5//); 00002000
|
|
FORMAT FSETUP(X16,I4,X3,I2,X8,I2,X44,I1); 00002100
|
|
FILE TAPE2 DISK SERIAL [20:1000](4,180); 00002200
|
|
FILE OUTT 4(2,15); REAL REGRESSCHECK; 00002300
|
|
BOOLEAN ARRAY SENSL[0:4]; 00002400
|
|
REAL ARRAY COMMON[0:33,0:511]; 00002500
|
|
REAL Q,XPR; 00002600
|
|
REAL ARRAY ARRAY1, ARRAY3[0:4,0:511]; 00002700
|
|
INTEGER K; 00002800
|
|
LABEL FINIS; 00002900
|
|
INTEGER ARRAY SVKTRANS[0:100,0:3]; 00003000
|
|
00003100
|
|
REAL ARRAY SVX[0:81], SVA[0:81,0:81], SVC[0:100], SVTRANS[0:100]; 00003200
|
|
00003300
|
|
PROCEDURE OBJECTFMTGEN(INFORMAT);FORMAT INFORMAT;BEGIN OWN REAL NCR,NFWD00003400
|
|
,ELCLASS;OWN REAL LCR;OWN INTEGER CNT,TCNT,RSLT,F;OWN INTEGER FMAX;OWN R00003500
|
|
EAL ARRAY ACCUM[0:9];SAVE OWN REAL ARRAY GENF[0:259];SAVE OWN REAL ARRAY00003600
|
|
IMAG[0:9];OWN REAL ARRAY PRNT[0:19];OWN BOOLEAN ERRTOG;LABEL FINISHED;S00003700
|
|
TREAM PROCEDURE TATTLE(F,LINE);VALUE F;BEGIN SI~LOC F;DI~LINE;10(DS~LIT"00003800
|
|
");DS~9LIT"FMT SIZE ";DS~3DEC;DS~4LIT" WDS";47(DS~2LIT" ");END OF TATT00003900
|
|
LE;PROCEDURE FLAG(ERRNUM);INTEGER ERRNUM;BEGIN STREAM PROCEDURE INSERT(E00004000
|
|
RR,LINE,ACCUM,CNT);VALUE ERR,CNT;BEGIN SI~LOC ERR;DI~LINE;10(DS~LIT"X");00004100
|
|
DS~16LIT" SYNTAX ERROR #";DS~3DEC;DS~4LIT" ..";SI~ACCUM;SI~SI+3;DS~CNT00004200
|
|
CHR;DS~4LIT".. ";10(DS~LIT"X");36(DS~2LIT" ");END OF INSERT;INSERT(ER00004300
|
|
RNUM,PRNT[0],ACCUM[1],CNT);WRITE(LINE,15,PRNT[*]);ERRTOG~TRUE;END OF FLA00004400
|
|
G;PROCEDURE ERR(ERRNUM);INTEGER ERRNUM;BEGIN FLAG(ERRNUM);END;REAL STREA00004500
|
|
M PROCEDURE SETUP(CARD,LINE,LCR);BEGIN LOCAL SET1;SI~CARD;DI~LINE;DS~10W00004600
|
|
DS;40(DS~2LIT" ");SI~CARD;SET1~SI;DI~LOC SETUP;SI~LOC SET1;DS~WDS;DI~CA00004700
|
|
RD;9(DI~DI+8);SET1~DI;DS~LIT"%";SI~LOC SET1;DI~LCR;DS~WDS;END OF SETUP;R00004800
|
|
EAL STREAM PROCEDURE FMTF(FMTIN);BEGIN LOCAL ST;SI~FMTIN;DI~LOC FMTF;ST~00004900
|
|
SI;SI~LOC ST;DS~WDS;END OF FMTF;REAL STREAM PROCEDURE EXAMIN(NCR);VALUE 00005000
|
|
NCR;BEGIN SI~NCR;DI~LOC EXAMIN;DI~DI+7;DS~CHR;END OF EXAMIN;REAL STREAM 00005100
|
|
PROCEDURE CONV(ACCUM,SKP,N);VALUE SKP,N;BEGIN SI~ACCUM;SI~SI+SKP;SI~SI+300005200
|
|
;DI~LOC CONV;DS~N OCT;END OF CONV;REAL PROCEDURE CONVERT;BEGIN REAL T;IN00005300
|
|
TEGER N;T~CONV(ACCUM[1],TCNT,N~(CNT-TCNT)MOD 8);FOR N~TCNT+N STEP 8UNTIL00005400
|
|
CNT-1DO T~T|100000000+CONV(ACCUM[1],N,8);CONVERT~T;END OF CONVERT;STREA00005500
|
|
M PROCEDURE SCAN(NCRV,NCR,ACCUM,CNT,CNTV,RSLT,RSLTV,AC);VALUE NCRV,CNTV,00005600
|
|
RSLTV,AC;BEGIN LOCAL ST1,ST2;LABEL DEBLANK,GETCHR,NUMBER,EXIT,FINIS;LABE00005700
|
|
L L;SI~NCRV;DI~RSLT;DI~DI+7;CI~CI+RSLTV;GO TO FINIS;GO TO FINIS;GO TO FI00005800
|
|
NIS;GO TO NUMBER;GO TO FINIS;GO TO GETCHR;GO TO FINIS;DEBLANK:IF SC=" "T00005900
|
|
HEN BEGIN L:SI~SI+1;IF SC=" "THEN GO TO L;END;GO TO FINIS;GETCHR:DS~LIT"00006000
|
|
2";TALLY~1;SI~SI+1;GO TO EXIT;NUMBER:TALLY~63;DS~LIT"3";AC(TALLY~TALLY+100006100
|
|
;IF SC<"0"THEN JUMP OUT TO EXIT;SI~SI+1);EXIT:ST1~TALLY;TALLY~TALLY+CNTV00006200
|
|
;ST2~TALLY;DI~CNT;SI~LOC ST2;DS~WDS;DI~ACCUM;SI~SI-3;DS~3CHR;DI~DI+CNTV;00006300
|
|
SI~NCRV;DS~ST1 CHR;FINIS:DI~NCR;ST1~SI;SI~LOC ST1;DS~WDS;END OF SCAN;PRO00006400
|
|
CEDURE READACARD;BEGIN READ(CARD,10,IMAG[*]);NCR~SETUP(IMAG[0],PRNT[0],L00006500
|
|
CR);WRITE(LINE,15,PRNT[*]);END OF READACARD;PROCEDURE SCANNER;BEGIN LABE00006600
|
|
L L;L:SCAN(NCR,NCR,ACCUM[1],CNT,CNT,RSLT,RSLT,63-CNT);IF NCR=LCR THEN BE00006700
|
|
GIN READACARD;GO TO L;END;END OF SCANNER;PROCEDURE NEXTENT;BEGIN CNT~ACC00006800
|
|
UM[1]~0;IF EXAMIN(NCR)=" "THEN BEGIN RSLT~7;SCANNER;END DEBLANK;IF EXAMI00006900
|
|
N(NCR){9THEN BEGIN RSLT~3;SCANNER;TCNT~0;IF CNT>4THEN FLAG(140)ELSE IF E00007000
|
|
LCLASS~-CONVERT<-1023THEN FLAG(140)END ELSE BEGIN RSLT~5;SCANNER;ELCLASS00007100
|
|
~ACCUM[1].[18:6];END;END OF NEXTENT;STREAM PROCEDURE MOVECODE(TEMP,FINAL00007200
|
|
,RPT,REM);VALUE RPT,REM;BEGIN LOCAL ST1;SI~TEMP;DI~FINAL;DS~REM WDS;ST1~00007300
|
|
SI;SI~LOC RPT;SI~SI+7;IF SC!"0"THEN BEGIN SI~ST1;RPT(DS~63WDS);END;END O00007400
|
|
F MOVECODE;PROCEDURE MAXWDS(INFORMAT);FORMAT INFORMAT;BEGIN OWN INTEGER 00007500
|
|
CTR,FLG;LABEL RETURN,EX;INTEGER STREAM PROCEDURE WDCTR(FMT,CTR,FLG);VALU00007600
|
|
E CTR;BEGIN LOCAL ST1;LABEL SCAN,FND,EXIT;SI~LOC CTR;SI~SI+7;DI~LOC ST1;00007700
|
|
DS~4LIT"0000";DI~DI-4;IF SC="0"THEN BEGIN SI~FMT;GO TO SCAN;END;SI~FMT;C00007800
|
|
TR(63(SI~SI+8));SCAN:63(IF 4SC=DC THEN JUMP OUT TO FND;TALLY~TALLY+1;DI~00007900
|
|
DI-4;SI~SI+4);ST1~TALLY;GO TO EXIT;FND:ST1~TALLY;SI~SI-4;DI~FLG;DS~WDS;E00008000
|
|
XIT:SI~LOC ST1;DI~LOC WDCTR;DS~WDS;END OF WDCTR;FMAX~CTR~FLG~0;RETURN:FM00008100
|
|
AX~FMAX+WDCTR(INFORMAT,CTR,FLG);IF FLG!0THEN GO TO EX;CTR~CTR+1;GO TO RE00008200
|
|
TURN;EX:END OF MAXWDS;STREAM PROCEDURE LARGER(LINE,F);VALUE F;BEGIN SI~L00008300
|
|
OC F;DI~LINE;10(DS~LIT"X");DS~41LIT" FORMAT TOO LARGE (RECEIVER FMT SIZ00008400
|
|
E IS ";DS~3DEC;DS~9LIT" WORDS) ";10(DS~LIT"X");47(DS~LIT" ");END OF LAR00008500
|
|
GER;PROCEDURE GETINT;BEGIN NEXTENT;IF ELCLASS~-ELCLASS<0THEN BEGIN FLAG(00008600
|
|
137);ELCLASS~0END END GETINT;INTEGER PROCEDURE DIVIDE(NUMBER,P1,P2);VALU00008700
|
|
E NUMBER;INTEGER P1,P2,NUMBER;BEGIN IF NUMBER<0THEN BEGIN FLAG(138);NUMB00008800
|
|
ER~0END;P1~IF NUMBER<8THEN NUMBER ELSE 8;NUMBER~NUMBER-P1;P2~IF NUMBER<800008900
|
|
THEN NUMBER ELSE 8;DIVIDE~NUMBER-P2 END DIVIDE;STREAM PROCEDURE WHIPOUT(00009000
|
|
NFWDV,W,NFWD);VALUE NFWDV;BEGIN LOCAL ST;SI~W;DI~NFWDV;DS~WDS;ST~DI;DI~N00009100
|
|
FWD;SI~LOC ST;DS~WDS;END OF WHIPOUT;BOOLEAN PROCEDURE FORMATPHRASE;BEGIN00009200
|
|
LABEL EL,EX,EXIT,L1,L2,L3;PROCEDURE EMITFORMAT(S,CODE,REPEAT,SKIP,W,W1,00009300
|
|
W2,D1,D2);VALUE S,CODE,REPEAT,SKIP,W,W1,W2,D1,D2;REAL CODE,REPEAT,SKIP,W00009400
|
|
,W1,W2,D1,D2;BOOLEAN S;BEGIN IF W>63THEN FLAG(163);W~REPEAT&W[6:42:6]&SK00009500
|
|
IP[32:42:6]&W1[28:44:4]&W2[24:44:4]&D1[20:44:4]&D2[16:44:4]&CODE[2:44:4]00009600
|
|
&REAL(S)[1:47:1];F~F+1;WHIPOUT(NFWD,W,NFWD);END EMITFORMAT;STREAM PROCED00009700
|
|
URE PACKALPHA(PLACE,LETTER,CTR);VALUE LETTER,CTR;BEGIN DI~PLACE;DS~LIT"B00009800
|
|
";SI~LOC CTR;SI~SI+7;DS~CHR;SI~PLACE;SI~SI+3;DS~5CHR;SI~LOC LETTER;SI~SI00009900
|
|
+7;DS~CHR END PACKALPHA;INTEGER REPEAT,SKIP,W,W1,W2,D1,D2,CODE;BOOLEAN S00010000
|
|
;INTEGER ST;DEFINE RRIGHT=0#,RLEFT=4#,RSTROKE=6#;DEFINE RSCALE=8#,RR=15#00010100
|
|
;DEFINE RD=0#,RX=2#,RA=4#,RI=6#,RF=8#,RE=10#,RO=12#,RL=14#;IF ELCLASS<0T00010200
|
|
HEN BEGIN REPEAT~-ELCLASS;NEXTENT;IF ELCLASS=","THEN GO EX END ELSE REPE00010300
|
|
AT~REAL(ELCLASS!"("AND ELCLASS!"<");IF ELCLASS="("OR ELCLASS="<"THEN BEG00010400
|
|
IN SKIP~F;EMITFORMAT(TRUE,RLEFT,REPEAT,1,0,0,0,0,0);DO BEGIN NEXTENT;EL:00010500
|
|
IF FORMATPHRASE THEN GO TO EX END UNTIL ELCLASS!",";WHILE ELCLASS="/"DO 00010600
|
|
BEGIN EMITFORMAT(TRUE,RSTROKE,0,1,0,0,0,0,0);NEXTENT END;IF ELCLASS!")"A00010700
|
|
ND ELCLASS!">"THEN GO TO EL;IF REPEAT=0THEN EMITFORMAT(TRUE,RSTROKE,1,0,00010800
|
|
0,0,0,0,0);S~TRUE;REPEAT~F-SKIP;CODE~RRIGHT END ELSE IF ELCLASS="O"THEN 00010900
|
|
BEGIN CODE~RO;W~8END ELSE IF ELCLASS="D"THEN BEGIN CODE~RD;W~8END ELSE I00011000
|
|
F ELCLASS=","THEN GO TO L2 ELSE IF ELCLASS="/"THEN GO TO EXIT ELSE IF EL00011100
|
|
CLASS=")"OR ELCLASS=">"THEN GO TO EXIT ELSE IF ELCLASS="S"THEN BEGIN NEX00011200
|
|
TENT;W~IF ELCLASS="-"THEN 1ELSE 0;IF ELCLASS>0THEN NEXTENT;IF ELCLASS>0T00011300
|
|
HEN BEGIN ERR(136);GO TO EXIT END ELSE REPEAT~-ELCLASS;EMITFORMAT(TRUE,R00011400
|
|
SCALE,REPEAT,0,W,0,0,0,0);GO TO L2 END ELSE IF ELCLASS="""THEN BEGIN COD00011500
|
|
E~100;ST~0;DO BEGIN SKIP~1;DO BEGIN RSLT~5;CNT~0;SCANNER;IF ELCLASS~ACCU00011600
|
|
M[1].[18:6]=CODE THEN BEGIN IF SKIP!1THEN BEGIN WHIPOUT(NFWD,W,NFWD);F~F00011700
|
|
+1;END;GO TO L2 END;CODE~""";PACKALPHA(W,ELCLASS,SKIP);END UNTIL SKIP~SK00011800
|
|
IP+1=7;WHIPOUT(NFWD,W,NFWD);F~F+1;END UNTIL(ST~ST+6)>132;GO TO EX END EL00011900
|
|
SE BEGIN CODE~ELCLASS;GETINT;W~ELCLASS;IF CODE="I"THEN BEGIN SKIP~DIVIDE00012000
|
|
(W,W1,W2);CODE~RI END ELSE IF CODE="F"THEN BEGIN CODE~RF;GO TO L1 END EL00012100
|
|
SE IF CODE="R"THEN BEGIN CODE~RR;GO TO L1 END ELSE IF CODE="E"THEN BEGIN00012200
|
|
CODE~RE;D1~1;L1:NEXTENT;IF ELCLASS!"."THEN GO TO EX;GETINT;IF DIVIDE(EL00012300
|
|
CLASS+D1,D1,D2)>0THEN GO TO EX;IF CODE=RF OR CODE=RR THEN SKIP~DIVIDE(W-00012400
|
|
ELCLASS-1,W1,W2)ELSE IF SKIP~W-ELCLASS-6<0THEN GO TO EX END ELSE IF CODE00012500
|
|
="X"THEN BEGIN CODE~RX;W1~W.[38:4];SKIP~W~W.[42:6]END ELSE IF CODE="A"TH00012600
|
|
EN BEGIN CODE~RA;W1~6;GO TO L3 END ELSE IF CODE="L"THEN BEGIN CODE~RL;W100012700
|
|
~5;L3:IF W<W1 THEN W1~W;SKIP~W-W1 END ELSE GO EX END;EMITFORMAT(S,CODE,R00012800
|
|
EPEAT,SKIP,W,W1,W2,D1,D2);L2:NEXTENT;GO TO EXIT;EX:FORMATPHRASE~TRUE;ERR00012900
|
|
(136);EXIT: FORMATPHRASE ~ ERRTOG; 00013000
|
|
END FORMATPHRASE;ERRTOG~FALSE;READACARD;NFWD~FMTF(GENF);F~0;D00013100
|
|
O NEXTENT UNTIL ELCLASS="("OR ELCLASS=";";IF ELCLASS!"("THEN BEGIN FLAG(00013200
|
|
32);NCR~TIME(1);DO F~0UNTIL TIME(1)-NCR>200;F~@40*2;END;ERRTOG~FORMATPHR00013300
|
|
ASE;IF ELCLASS=";"THEN GO TO FINISHED;FLAG(119);FINISHED:TATTLE(F,PRNT[000013400
|
|
]);WRITE(LINE,15,PRNT[*]);MAXWDS(INFORMAT);IF F>FMAX THEN BEGIN LARGER(P00013500
|
|
RNT[0],FMAX);WRITE(LINE,15,PRNT[*]);ERRTOG~TRUE;END;NCR~0&(F+1)[24:39:9]00013600
|
|
;WHIPOUT(NFWD,NCR,NFWD);CNT~(F+1)DIV 63;TCNT~(F+1)MOD 63;IF ERRTOG THEN 00013700
|
|
BEGIN NCR~TIME(1);DO F~0UNTIL TIME(1)-NCR>200;F~@40*2;END;MOVECODE(GENF,00013800
|
|
INFORMAT,CNT,TCNT);END OF OBJECTFMTGEN; 00013900
|
|
PROCEDURE ERROR(N); VALUE N; INTEGER N; BEGIN 00014000
|
|
FORMAT F(///////"STOP / PAUSE NO. ", I5); 00014100
|
|
WRITE (PRINT, F, N); GO TO FINIS END; 00014200
|
|
FORMAT OKTL (50O); 00014300
|
|
REAL PROCEDURE INT(ARG1); 00014400
|
|
VALUE ARG1; 00014500
|
|
REAL ARG1; 00014600
|
|
BEGIN INT~(SIGN(ARG1)|ENTIER(ABS(ARG1))) END; 00014700
|
|
REAL PROCEDURE MAX(ARG1,ARG2); 00014800
|
|
VALUE ARG1,ARG2; 00014900
|
|
REAL ARG1,ARG2; 00015000
|
|
BEGIN MAX~(IF ARG1}ARG2 THEN ARG1 ELSE ARG2) END; 00015100
|
|
REAL PROCEDURE MIN(ARG1,ARG2); 00015200
|
|
VALUE ARG1,ARG2; 00015300
|
|
REAL ARG1,ARG2; 00015400
|
|
BEGIN MIN~(IF ARG1{ARG2 THEN ARG1 ELSE ARG2) END; 00015500
|
|
COMMENT ************************** FNAF ****************; 00015600
|
|
REAL PROCEDURE FNAF(JI,JJ); 00015700
|
|
INTEGER JI,JJ; 00015800
|
|
BEGIN 00015900
|
|
DEFINE SVSTDEV =COMMON#; 00016000
|
|
DEFINE SVKTRANS=COMMON#; 00016100
|
|
00016200
|
|
00016300
|
|
00016400
|
|
00016500
|
|
00016600
|
|
00016700
|
|
00016800
|
|
00016900
|
|
00017000
|
|
OWN INTEGER JKKK, JLLL; 00017100
|
|
OWN REAL JAF; 00017200
|
|
LABEL DUMMY; 00017300
|
|
JKKK~MIN(JI,JJ); 00017400
|
|
JLLL~MAX(JI,JJ); 00017500
|
|
JAF~SVA[JLLL,JKKK]; 00017600
|
|
GO TO DUMMY; 00017700
|
|
DUMMY: FNAF~JAF END; 00017800
|
|
COMMENT ************************** SRAOUT ****************; 00017900
|
|
PROCEDURE SRAOUT; 00018000
|
|
BEGIN 00018100
|
|
DEFINE SVSTDEV =COMMON#; 00018200
|
|
DEFINE SVKTRANS=COMMON#; 00018300
|
|
DEFINE JIP =COMMON[0,302]#; 00018400
|
|
00018500
|
|
00018600
|
|
00018700
|
|
00018800
|
|
00018900
|
|
00019000
|
|
00019100
|
|
00019200
|
|
00019300
|
|
REAL ARRAY SVFMT1[0:20]; 00019400
|
|
INTEGER DX1; 00019500
|
|
INTEGER INDEX1; 00019600
|
|
OWN INTEGER JMN, JKK, JI, JNRTEN, JM, JMM, JLL, JKTOP, JNX, JNFX, 00019700
|
|
JK, JJ, JNN, JID, JJK; 00019800
|
|
FORMAT FL9901("(1H",I1,",1X,8HVARIABLE,5X,",I2,"(I2,9X)/3X,6HNUMBER/)"),00019900
|
|
FL9902(20A6), 00020000
|
|
FL9903("(5X,I2,",I3,"X,",I2,"(F9.3,2X))"); 00020100
|
|
REAL PP; 00020200
|
|
LABEL DONE1 ; 00020300
|
|
LABEL DO4, DO5 ; 00020400
|
|
INTEGER IP ; 00020500
|
|
LABEL R0,DO2 ; 00020600
|
|
LABEL DUMMY,L2,L3,L5,L6,L1000; 00020700
|
|
PROCEDURE HEAD (JKK,JMM) ; 00020800
|
|
INTEGER JKK,JMM ; 00020900
|
|
BEGIN 00021000
|
|
INTEGER ARRAY SVLLL[0: 80 ] ; 00021100
|
|
INTEGER J ; 00021200
|
|
LABEL L5,L6 ; 00021300
|
|
FORMAT OUT2 (X2, "VARIABLE",X5,10(I2,X9)/) , 00021400
|
|
OUT3 (X3, "NUMBER " ) ; 00021500
|
|
INTEGER JLL,DX1 ; 00021600
|
|
LIST LIST2(FOR DX1~1 STEP 1 UNTIL JMM DO SVLLL[DX1]); 00021700
|
|
J ~ JMM - JKK + 1 ; 00021800
|
|
FOR JLL ~ 1 STEP 1 UNTIL JMM DO 00021900
|
|
SVLLL[JLL] ~ JLL + (JKK - 1 ) | 10 ; 00022000
|
|
L6 : 00022100
|
|
WRITE (PRINT,OUT2, LIST2 ) ; 00022200
|
|
WRITE (PRINT,OUT3 ) ; 00022300
|
|
END; 00022400
|
|
PROCEDURE DIAG (JKK,JMM,SVA,JID ) ; 00022500
|
|
INTEGER JKK,JMM,JID ; 00022600
|
|
REAL ARRAY SVA[0,0] ; 00022700
|
|
BEGIN 00022800
|
|
INTEGER DX1,I,J,JKZ ; 00022900
|
|
INTEGER JRR ; 00023000
|
|
FORMAT ANS9(X4,I2,X103,R10.3,X1), 00023100
|
|
ANS8(X4,I2,X92,2(R10.3,X1)), 00023200
|
|
ANS7(X4,I2,X81,3(R10.3,X1)), 00023300
|
|
ANS6(X4,I2,X70,4(R10.3,X1)), 00023400
|
|
ANS5(X4,I2,X59,5(R10.3,X1)), 00023500
|
|
ANS4(X4,I2,X48,6(R10.3,X1)), 00023600
|
|
ANS3(X4,I2,X37,7(R10.3,X1)), 00023700
|
|
ANS2(X4,I2,X26,8(R10.3,X1)), 00023800
|
|
ANS1(X4,I2,X15,9(R10.3,X1)), 00023900
|
|
ANS0(X4,I2,X4 ,10(R10.3,X1)); 00024000
|
|
LABEL DO3 ; 00024100
|
|
LABEL S0,S1,S2,S3,S4,S5,S6,S7,S8,S9 ; 00024200
|
|
SWITCH RES1 ~ S0,S1,S2,S3,S4,S5,S6,S7,S8,S9 ; 00024300
|
|
LIST LIST6(JRR,FOR DX1~JKZ STEP 1 UNTIL JMM DO SVA[DX1,JRR]); 00024400
|
|
JKK ~ JKK ; JMM ~ JMM ; 00024500
|
|
JRR ~ JID ; 00024600
|
|
J ~ JMM - JKK + 1 ; 00024700
|
|
JKZ ~ JKK ; 00024800
|
|
FOR I ~ 1 STEP 1 UNTIL J DO 00024900
|
|
BEGIN 00025000
|
|
GO TO RES1[I] ; 00025100
|
|
S0: WRITE(PRINT,ANS0,LIST6) ; GO TO DO3 ; 00025200
|
|
S1: WRITE(PRINT,ANS1,LIST6) ; GO TO DO3 ; 00025300
|
|
S2: WRITE(PRINT,ANS2,LIST6) ; GO TO DO3 ; 00025400
|
|
S3: WRITE(PRINT,ANS3,LIST6) ; GO TO DO3 ; 00025500
|
|
S4: WRITE(PRINT,ANS4,LIST6) ; GO TO DO3 ; 00025600
|
|
S5: WRITE(PRINT,ANS5,LIST6) ; GO TO DO3 ; 00025700
|
|
S6: WRITE(PRINT,ANS6,LIST6) ; GO TO DO3 ; 00025800
|
|
S7: WRITE(PRINT,ANS7,LIST6) ; GO TO DO3 ; 00025900
|
|
S8: WRITE(PRINT,ANS8,LIST6) ; GO TO DO3 ; 00026000
|
|
S9: WRITE(PRINT,ANS9,LIST6) ; GO TO DO3 ; 00026100
|
|
DO3: JRR ~ JRR + 1 ; 00026200
|
|
JKZ ~ JKZ + 1 ; 00026300
|
|
END ; 00026400
|
|
END ; 00026500
|
|
PROCEDURE SQUARE (JKK,JMM,JID,SVA) ; 00026600
|
|
INTEGER JKK,JMM,JID ; 00026700
|
|
REAL ARRAY SVA[0,0] ; 00026800
|
|
BEGIN 00026900
|
|
INTEGER J,DX1,I,JIF ; 00027000
|
|
LIST LIST6(JIF,FOR DX1~JKK STEP 1 UNTIL JMM DO SVA[DX1,JIF]); 00027100
|
|
FORMAT ANS0 (X4,I2,X4,10(R10.3,X1)); 00027200
|
|
00027300
|
|
JKK ~ JKK ; JMM ~ JMM ; 00027400
|
|
JIF ~ JID ; 00027500
|
|
J ~ JMM - JKK + 1 ; 00027600
|
|
FOR I ~ 1 STEP 1 UNTIL 10 DO 00027700
|
|
BEGIN 00027800
|
|
WRITE ( PRINT,ANS0,LIST6 ) ; 00027900
|
|
JIF ~ JIF + 1 ; 00028000
|
|
END ; 00028100
|
|
END ; 00028200
|
|
INTEGER JJJ ; 00028300
|
|
INTEGER ZONE,I,J,JKL,JIX,JKX,JJX,JDX ; 00028400
|
|
ZONE ~ ENTIER (JIP/10.01 ) + 1 ; 00028500
|
|
JKK ~ 1 ; JMM ~ 10 ; JID ~ 1 ; JKL ~ 1 ; 00028600
|
|
FOR I ~ ZONE STEP - 1 WHILE I > 0 DO 00028700
|
|
BEGIN 00028800
|
|
IF JIP - JMM < 0 THEN JMM ~ JIP ; 00028900
|
|
JIX ~ JKL; JKX ~ JMM; JJX ~ JKK; JDX ~ JID; 00029000
|
|
HEAD (JIX,JKX) ; 00029100
|
|
DIAG (JJX,JKX,SVA,JDX ) ; 00029200
|
|
JJJ ~ ZONE - 1 ; 00029300
|
|
FOR J ~ 1 STEP 1 UNTIL JJJ DO 00029400
|
|
BEGIN 00029500
|
|
JIX ~ JIX + 1 ; 00029600
|
|
JJX ~ JJX + 10 ; JKX ~ JKX + 10 ; 00029700
|
|
IF JIP - JKX < 0 THEN JKX ~ JIP ; 00029800
|
|
HEAD ( JIX,JKX ) ; 00029900
|
|
SQUARE ( JJX,JKX,JDX,SVA ) ; 00030000
|
|
END ; 00030100
|
|
JKL ~ JKL + 1 ; JKK ~ JKK + 10 ; JMM ~ JMM + 10 ; 00030200
|
|
JID ~ JID + 10 ; 00030300
|
|
ZONE ~ ZONE - 1 ; 00030400
|
|
END ; 00030500
|
|
DUMMY: END; 00030600
|
|
COMMENT ************************** SRCHECK ****************; 00030700
|
|
PROCEDURE SRCHECK(JI,JJ,JII1,JJJ1,JSGN); 00030800
|
|
INTEGER JI,JJ,JII1,JJJ1; 00030900
|
|
REAL JSGN; 00031000
|
|
BEGIN 00031100
|
|
DEFINE SVSTDEV =COMMON#; 00031200
|
|
DEFINE SVKTRANS=COMMON#; 00031300
|
|
00031400
|
|
00031500
|
|
00031600
|
|
00031700
|
|
00031800
|
|
00031900
|
|
00032000
|
|
00032100
|
|
00032200
|
|
FORMAT FL8001(X3,"I= ",I3," J= ",I3,X1,"C(I)= ",F3.0,X1,"C(J)= ",F3.0, 00032300
|
|
X1,"SGN= ",F3.0," II1= ",I3," JJ1= ",I3); 00032400
|
|
LIST LIST1(JI,JJ,SVC[JI],SVC[JJ],JSGN,JII1,JJJ1); 00032500
|
|
LABEL DUMMY,L2,L3,L5,L4; 00032600
|
|
IF (SVC[JI])>0 THEN GO TO L2; 00032700
|
|
IF (SVC[JJ])>0 THEN GO TO L5 ELSE GO TO L3; 00032800
|
|
L2: IF (SVC[JJ]){0 THEN GO TO L5; 00032900
|
|
L3: JSGN~1; 00033000
|
|
GO TO L4; 00033100
|
|
L5: JSGN~-1; 00033200
|
|
L4: JII1~JJ; 00033300
|
|
JJJ1~JI; 00033400
|
|
WRITE(PRINT,FL8001,LIST1); 00033500
|
|
GO TO DUMMY; 00033600
|
|
DUMMY: END; 00033700
|
|
COMMENT ************************** SRRDLBL2 ****************; 00033800
|
|
PROCEDURE SRRDLBL2(JNLBVAR,JNVAR,SVARRAY); 00033900
|
|
VALUE JNLBVAR,JNVAR; 00034000
|
|
INTEGER JNLBVAR,JNVAR; 00034100
|
|
REAL ARRAY SVARRAY[0]; 00034200
|
|
BEGIN 00034300
|
|
REAL ARRAY ARRAY1[0:1]; 00034400
|
|
DEFINE JLABEL =ARRAY1[1]#; 00034500
|
|
DEFINE JALABEL =ARRAY1[1]#; 00034600
|
|
INTEGER ARRAY SVIDUM[0:7]; 00034700
|
|
REAL ARRAY SVDUMY[0:7]; 00034800
|
|
INTEGER DX1; 00034900
|
|
OWN INTEGER JI, JN, JITEST, JJ, JK; 00035000
|
|
FORMAT FL3(A3,X3,7(I4,A6)), 00035100
|
|
FL5(/" LABELS CARD NOT FOUND WHEN EXPECTED"), 00035200
|
|
FL12(/" LABELS CARD INDEX",I7," INCORRECT. LABEL ",A6," IGNORED."); 00035300
|
|
LIST LIST1(JITEST,FOR DX1~1 STEP 1 UNTIL 7 DO [SVIDUM[DX1],SVDUMY[DX1]])00035400
|
|
; 00035500
|
|
LIST LIST2(JK,SVDUMY[JJ]); 00035600
|
|
LABEL DUMMY,L20,L4,L6,L11,L7,L13,L8,L9; 00035700
|
|
COMMENT EQUIVALENCE INTEGER AND FLOATING NAMES SO THAT INTEGER SUBTRACTI00035800
|
|
ON; 00035900
|
|
COMMENT MAY BE USED TO TEST ALPHABETIC EQUALITY; 00036000
|
|
JALABEL~(+"LAB"); 00036100
|
|
COMMENT BLANK VARIABLES; 00036200
|
|
JI~1; 00036300
|
|
DO BEGIN 00036400
|
|
SVARRAY[JI]~(+" ") END UNTIL (JI~(JI+1))>JNVAR; 00036500
|
|
COMMENT IF NO LABELS, RETURN; 00036600
|
|
IF JNLBVAR{0 THEN GO TO DUMMY; 00036700
|
|
JN~0; 00036800
|
|
COMMENT READ 1 LABELS CARD; 00036900
|
|
L20: READ(TAPE,FL3,LIST1)[FINIS]; 00037000
|
|
COMMENT TEST FOR @LAB@ IN FIRST 3 COLS.; 00037100
|
|
IF (JITEST=JLABEL) THEN GO TO L6 ELSE GO TO L4; 00037200
|
|
COMMENT ERROR--PRINT MESSAGE AND QUIT; 00037300
|
|
L4: WRITE(PRINT,FL5); 00037400
|
|
GO TO FINIS; 00037500
|
|
COMMENT EXAMINE 7 FIELDS; 00037600
|
|
L6: JJ~1; 00037700
|
|
DO BEGIN 00037800
|
|
JK~SVIDUM[JJ]; 00037900
|
|
COMMENT TEST INDEX. IF 0, IGNORE. IF ILLEGAL, PRINT MESSAGE AND; 00038000
|
|
COMMENT IGNORE EXCEPT TO COUNT; 00038100
|
|
IF (XPR~(JK))=0 THEN GO TO L8; 00038200
|
|
IF XPR<0 THEN GO TO L11; 00038300
|
|
IF (JK{JNVAR) THEN GO TO L7; 00038400
|
|
L11: WRITE(PRINT,FL12,LIST2); 00038500
|
|
GO TO L13; 00038600
|
|
COMMENT MOVE LABEL TO ARRAY; 00038700
|
|
L7: SVARRAY[JK]~SVDUMY[JJ]; 00038800
|
|
COMMENT STEP NUMBER OF VARIABLES; 00038900
|
|
L13: JN~JN+1; 00039000
|
|
COMMENT TEST FOR END. IF END, RETURN. IF NOT, SCAN OTHER FIELDS.; 00039100
|
|
IF (JN}JNLBVAR) THEN GO TO DUMMY; 00039200
|
|
L8: END UNTIL (JJ~(JJ+1))>7; 00039300
|
|
GO TO L20; 00039400
|
|
L9: GO TO DUMMY; 00039500
|
|
DUMMY: END; 00039600
|
|
COMMENT ************************** SRSTEP ****************; 00039700
|
|
PROCEDURE SRSTEP( JKAY) ; 00039800
|
|
INTEGER JKAY ; 00039900
|
|
BEGIN 00040000
|
|
DEFINE JIP =COMMON[0,302] # ; 00040100
|
|
DEFINE JKAY =COMMON[0,306] # ; 00040200
|
|
DEFINE JFLAG =COMMON[0,307] # ; 00040300
|
|
00040400
|
|
00040500
|
|
00040600
|
|
00040700
|
|
00040800
|
|
00040900
|
|
00041000
|
|
00041100
|
|
00041200
|
|
00041300
|
|
00041400
|
|
REAL ARRAY SVU[0:81]; 00041500
|
|
OWN INTEGER JKAY1, JKAY2, JI, JJ; 00041600
|
|
OWN REAL JXAY3; 00041700
|
|
LABEL DUMMY,L3,L2; 00041800
|
|
JKAY ~ JKAY ; 00041900
|
|
JKAY1~JKAY-1; 00042000
|
|
JKAY2~JKAY+1; 00042100
|
|
JXAY3~SVA[JKAY,JKAY]; 00042200
|
|
IF JKAY1{0 THEN GO TO L3; 00042300
|
|
JI~1; 00042400
|
|
DO BEGIN 00042500
|
|
SVU[JI]~SVA[JKAY,JI]; 00042600
|
|
SVA[JKAY,JI]~0; 00042700
|
|
END UNTIL (JI~(JI+1))>JKAY1; 00042800
|
|
L3: SVU[JKAY]~-JFLAG; 00042900
|
|
SVA[JKAY,JKAY]~0; 00043000
|
|
IF (JKAY2>JIP) THEN GO TO L2; 00043100
|
|
JI~JKAY2; 00043200
|
|
DO BEGIN 00043300
|
|
SVU[JI]~SVA[JI,JKAY]; 00043400
|
|
SVA[JI,JKAY]~0; 00043500
|
|
END UNTIL (JI~(JI+1))>JIP; 00043600
|
|
L2: JI~1; 00043700
|
|
DO BEGIN 00043800
|
|
JJ~JI; 00043900
|
|
DO BEGIN 00044000
|
|
SVA[JJ,JI]~SVA[JJ,JI]-(SVU[JI]|SVU[JJ])/JXAY3; 00044100
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00044200
|
|
GO TO DUMMY; 00044300
|
|
DUMMY: END; 00044400
|
|
COMMENT ************************** SRSTEPRG ****************; 00044500
|
|
PROCEDURE SRSTEPRG(SVC) ; 00044600
|
|
REAL ARRAY SVC[0] ; 00044700
|
|
BEGIN 00044800
|
|
DEFINE SVSTDEV =COMMON#; 00044900
|
|
DEFINE SVKTRANS=COMMON#; 00045000
|
|
DEFINE JIP =COMMON[0,302]#; 00045100
|
|
DEFINE JFINC =COMMON[0,303]#; 00045200
|
|
DEFINE JFOUT =COMMON[0,305]#; 00045300
|
|
DEFINE JKAY =COMMON[0,306]#; 00045400
|
|
DEFINE JFLAG =COMMON[0,307]#; 00045500
|
|
DEFINE JKDEP =COMMON[0,310]#; 00045600
|
|
DEFINE JXN =COMMON[0,313]#; 00045700
|
|
DEFINE JTOL =COMMON[0,314]#; 00045800
|
|
DEFINE JDF =COMMON[0,315]#; 00045900
|
|
00046000
|
|
00046100
|
|
00046200
|
|
00046300
|
|
00046400
|
|
00046500
|
|
OWN INTEGER JK, JKMIN, JKMAX; 00046600
|
|
OWN REAL JVIN, JVOUT, JVMIN, JVMAX, JVSUBK; 00046700
|
|
COMMENT THE FOLLOWING FUNCTIONS ARE REQUIRED: 00046800
|
|
FNAF; 00046900
|
|
COMMENT THE FOLLOWING SUBROUTINES ARE REQUIRED: 00047000
|
|
SRSTEP; 00047100
|
|
LABEL DUMMY,L10,L1000,L2,L7,L6; 00047200
|
|
JVIN~((JFINC|SVA[JKDEP,JKDEP])/(JFINC+JXN-JDF-1))+2; 00047300
|
|
IF (JXN=JDF) THEN JVOUT~-7.0 ELSE 00047400
|
|
JVOUT~((JFOUT|SVA[JKDEP,JKDEP])/(JXN-JDF))-7; 00047500
|
|
JVMIN~9999.9; 00047600
|
|
JVMAX~0; 00047700
|
|
JK~1; 00047800
|
|
DO BEGIN 00047900
|
|
SVC[JK]~SVC[JK]; 00048000
|
|
SVA[JK,JK] ~ SVA[JK,JK] ; 00048100
|
|
IF (XPR~(SVC[JK]-1))>0 THEN GO TO L10; 00048200
|
|
IF XPR=0 THEN GO TO L1000; 00048300
|
|
JVSUBK~SVC[JK]+(FNAF(JK,JKDEP)*2)/ABS(SVA[JK,JK]); 00048400
|
|
IF (JVMIN{JVSUBK) THEN GO TO L1000; 00048500
|
|
JVMIN~JVSUBK; 00048600
|
|
JKMIN~JK; 00048700
|
|
GO TO L1000; 00048800
|
|
L10: IF (SVA[JK,JK]<JTOL) THEN GO TO L1000; 00048900
|
|
JVSUBK~SVC[JK]+FNAF(JK,JKDEP)*2/SVA[JK,JK]; 00049000
|
|
IF (JVSUBK{JVMAX) THEN GO TO L1000; 00049100
|
|
JVMAX~JVSUBK; 00049200
|
|
JKMAX~JK; 00049300
|
|
L1000: END UNTIL (JK~(JK+1))>JIP; 00049400
|
|
IF (JVOUT{JVMIN) THEN GO TO L2; 00049500
|
|
SVC[JKMIN]~SVC[JKMIN]+9; 00049600
|
|
JKAY~INT(JKMIN); 00049700
|
|
JFLAG~-1; 00049800
|
|
GO TO L7; 00049900
|
|
L2: IF (JVMAX<JVIN) THEN GO TO L6; 00050000
|
|
IF (JXN-JDF{3-SVC[JKMAX]) THEN GO TO L6; 00050100
|
|
SVC[JKMAX]~SVC[JKMAX]-9; 00050200
|
|
JKAY~INT(JKMAX); 00050300
|
|
JFLAG~1; 00050400
|
|
L7: SRSTEP(JKAY) ; 00050500
|
|
JDF~JDF+JFLAG; 00050600
|
|
GO TO DUMMY; 00050700
|
|
L6: JFLAG~0; 00050800
|
|
GO TO DUMMY; 00050900
|
|
DUMMY: END; 00051000
|
|
COMMENT ************************** SRTRANGN ****************; 00051100
|
|
PROCEDURE SRTRANGN; 00051200
|
|
BEGIN 00051300
|
|
DEFINE SVSTDEV =COMMON#; 00051400
|
|
DEFINE SVKTRANS=COMMON#; 00051500
|
|
DEFINE JNTGC =COMMON[0,301]#; 00051600
|
|
DEFINE JNCASE =COMMON[0,308]#; 00051700
|
|
DEFINE JNINCS =COMMON[0,309]#; 00051800
|
|
00051900
|
|
00052000
|
|
00052100
|
|
00052200
|
|
00052300
|
|
00052400
|
|
00052500
|
|
00052600
|
|
00052700
|
|
OWN INTEGER JI, JM, JN, JNTRANS, JNEWB; 00052800
|
|
OWN REAL JE, JFN, JB, JXNEWB; 00052900
|
|
FORMAT FL199(" TRANSGENERATION CARD ",I3," MISPUNCHED OR OUT OF ORDER"),00053000
|
|
FL201(" THE VALUE OF VARIABLE ",I4," IN CASE ",I5, 00053100
|
|
" VIOLATED THE RESTRICTIONS FOR TRANSGENERATION OF TYPE ",I3,"."/ 00053200
|
|
" THE PROGRAM CONTINUED LEAVING VARIABLE ",I4," UNCHANGED."); 00053300
|
|
LIST LIST1(JI); 00053400
|
|
LIST LIST2(JN,JNINCS,SVKTRANS[(K~(3|JI-1)).[33:6],K.[39:9]],JM); 00053500
|
|
LABEL DUMMY,L99,L50,L1,L107,L108,L2,L111,L112,L3,L4,L5,L119,L6,L124, 00053600
|
|
L129,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16,L17,L20,L21,L22,L23,L24, 00053700
|
|
L197,L198,L100; 00053800
|
|
SWITCH SWGO1~L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16, 00053900
|
|
L17,L99,L99,L20,L21,L22,L23,L24; 00054000
|
|
FORMAT FL5775 (20A6); 00054100
|
|
FORMAT FL5776 (20A6); 00054200
|
|
REAL PROCEDURE DFASN(ARGXX); 00054300
|
|
VALUE ARGXX; 00054400
|
|
REAL ARGXX; 00054500
|
|
BEGIN DFASN~ARCTAN(ARGXX/SQRT(1-ARGXX*2)) END; 00054600
|
|
JI~1; 00054700
|
|
DO BEGIN 00054800
|
|
JM~SVKTRANS[(K~(3|JI-2)).[33:6],K.[39:9]]; 00054900
|
|
JN~SVKTRANS[(K~(3|JI)).[33:6],K.[39:9]]; 00055000
|
|
JNTRANS~SVKTRANS[(K~(3|JI-1)).[33:6],K.[39:9]]; 00055100
|
|
IF (JM>81) THEN GO TO L99; 00055200
|
|
IF (JN>81) THEN GO TO L99; 00055300
|
|
IF ((JNTRANS-25)|JNTRANS)<0 THEN GO TO L50; 00055400
|
|
L99: WRITE(PRINT,FL199,LIST1); 00055500
|
|
GO TO L100; 00055600
|
|
L50: GO TO SWGO1[JNTRANS]; 00055700
|
|
L1: IF (XPR~(SVX[JN]))>0 THEN GO TO L108; 00055800
|
|
IF XPR<0 THEN GO TO L198; 00055900
|
|
L107: SVX[JM]~0; 00056000
|
|
GO TO L100; 00056100
|
|
L108: SVX[JM]~SQRT(SVX[JN]); 00056200
|
|
GO TO L100; 00056300
|
|
L2: IF (XPR~(SVX[JN]))>0 THEN GO TO L112; 00056400
|
|
IF XPR<0 THEN GO TO L198; 00056500
|
|
L111: SVX[JM]~1; 00056600
|
|
GO TO L100; 00056700
|
|
L112: SVX[JM]~SQRT(SVX[JN])+SQRT(SVX[JN]+1); 00056800
|
|
GO TO L100; 00056900
|
|
L3: IF (SVX[JN]){0 THEN GO TO L198; 00057000
|
|
SVX[JM]~0.4342944819|LN(SVX[JN]); 00057100
|
|
GO TO L100; 00057200
|
|
L4: SVX[JM]~EXP(SVX[JN]); 00057300
|
|
GO TO L100; 00057400
|
|
L5: IF (XPR~(SVX[JN]))=0 THEN GO TO L107; 00057500
|
|
IF XPR<0 THEN GO TO L198; 00057600
|
|
IF (SVX[JN]}1) THEN GO TO L119; 00057700
|
|
JE~SQRT(SVX[JN]); 00057800
|
|
SVX[JM]~DFASN(JE); 00057900
|
|
GO TO L100; 00058000
|
|
L119: SVX[JM]~3.14159265/2; 00058100
|
|
GO TO L100; 00058200
|
|
L6: JFN~JNCASE; 00058300
|
|
JE~SVX[JN]/(JFN+1); 00058400
|
|
JB~JE+1/(JFN+1); 00058500
|
|
IF (XPR~(JE))>0 THEN GO TO L124; 00058600
|
|
IF XPR<0 THEN GO TO L198; 00058700
|
|
IF (XPR~(JB))=0 THEN GO TO L107; 00058800
|
|
IF XPR<0 THEN GO TO L198; 00058900
|
|
SVX[JM]~DFASN(SQRT(JB)); 00059000
|
|
GO TO L100; 00059100
|
|
L124: IF (XPR~(JB))>0 THEN GO TO L129; 00059200
|
|
IF XPR<0 THEN GO TO L198; 00059300
|
|
SVX[JM]~DFASN(SQRT(JE)); 00059400
|
|
GO TO L100; 00059500
|
|
L129: JE~SQRT(JE); 00059600
|
|
JB~SQRT(JB); 00059700
|
|
SVX[JM]~DFASN(JE)+DFASN(JB); 00059800
|
|
GO TO L100; 00059900
|
|
L7: IF (SVX[JN])=0 THEN GO TO L198; 00060000
|
|
SVX[JM]~1/SVX[JN]; 00060100
|
|
GO TO L100; 00060200
|
|
L8: SVX[JM]~SVX[JN]+SVTRANS[JI]; 00060300
|
|
GO TO L100; 00060400
|
|
L9: SVX[JM]~SVX[JN]|SVTRANS[JI]; 00060500
|
|
GO TO L100; 00060600
|
|
L10: IF (XPR~(SVX[JN]))=0 THEN GO TO L107; 00060700
|
|
IF XPR<0 THEN GO TO L198; 00060800
|
|
SVX[JM]~SVX[JN]*SVTRANS[JI]; 00060900
|
|
GO TO L100; 00061000
|
|
L11: JNEWB~SVTRANS[JI]; 00061100
|
|
SVX[JM]~SVX[JN]+SVX[JNEWB]; 00061200
|
|
GO TO L100; 00061300
|
|
L12: JNEWB~SVTRANS[JI]; 00061400
|
|
SVX[JM]~SVX[JN]-SVX[JNEWB]; 00061500
|
|
GO TO L100; 00061600
|
|
L13: JNEWB~SVTRANS[JI]; 00061700
|
|
SVX[JM]~SVX[JN]|SVX[JNEWB]; 00061800
|
|
GO TO L100; 00061900
|
|
L14: JNEWB~SVTRANS[JI]; 00062000
|
|
IF (SVX[JNEWB])=0 THEN GO TO L197; 00062100
|
|
SVX[JM]~SVX[JN]/SVX[JNEWB]; 00062200
|
|
GO TO L100; 00062300
|
|
L15: IF (SVX[JN]}SVTRANS[JI]) THEN GO TO L111 ELSE GO TO L107; 00062400
|
|
L16: JXNEWB~SVTRANS[JI]; 00062500
|
|
IF (SVX[JN]}(JXNEWB)) THEN GO TO L111 ELSE GO TO L107; 00062600
|
|
L17: IF (SVX[JN]){0 THEN GO TO L198; 00062700
|
|
SVX[JM]~LN(SVX[JN]); 00062800
|
|
GO TO L100; 00062900
|
|
L20: SVX[JM]~SIN(SVX[JN]); 00063000
|
|
GO TO L100; 00063100
|
|
L21: SVX[JM]~COS(SVX[JN]); 00063200
|
|
GO TO L100; 00063300
|
|
L22: IF (SVX[JN]>1.57079632) THEN GO TO L198; 00063400
|
|
IF (SVX[JN]+1.57079632)<0 THEN GO TO L198; 00063500
|
|
SVX[JM]~ARCTAN(SVX[JN]); 00063600
|
|
GO TO L100; 00063700
|
|
L23: JNEWB~SVTRANS[JI]; 00063800
|
|
IF (SVX[JN]){0 THEN GO TO L198; 00063900
|
|
SVX[JM]~SVX[JN]*SVX[JNEWB]; 00064000
|
|
GO TO L100; 00064100
|
|
L24: IF (SVTRANS[JI]){0 THEN GO TO L198; 00064200
|
|
SVX[JM]~SVTRANS[JI]*SVX[JN]; 00064300
|
|
GO TO L100; 00064400
|
|
L197: JN~JNEWB; 00064500
|
|
L198: WRITE(PRINT,FL201,LIST2); 00064600
|
|
L100: END UNTIL (JI~(JI+1))>JNTGC; 00064700
|
|
GO TO DUMMY; 00064800
|
|
DUMMY: END; 00064900
|
|
COMMENT ************************** SRVFCHCK ****************; 00065000
|
|
PROCEDURE SRVFCHCK(JNVF); 00065100
|
|
INTEGER JNVF; 00065200
|
|
BEGIN 00065300
|
|
FORMAT FL4000(/" ",X23, 00065400
|
|
"NUMBER OF VARIABLE FORMAT CARDS INCORRECTLY SPECIFIED, ASSUMED ", 00065500
|
|
"TO BE 1."); 00065600
|
|
LABEL DUMMY,L10,L50,L20; 00065700
|
|
IF JNVF>0 THEN GO TO L20; 00065800
|
|
L10: WRITE(PRINT,FL4000); 00065900
|
|
JNVF~1; 00066000
|
|
L50: GO TO DUMMY; 00066100
|
|
L20: IF (JNVF>10) THEN GO TO L10 ELSE GO TO DUMMY; 00066200
|
|
DUMMY: END; 00066300
|
|
COMMENT ************************** MAINPRO ****************; 00066400
|
|
PROCEDURE MAINPRO; 00066500
|
|
BEGIN 00066600
|
|
DEFINE SVXMIN =COMMON#; 00066700
|
|
DEFINE SVXMAX =COMMON#; 00066800
|
|
DEFINE SVKTRANS=COMMON#; 00066900
|
|
DEFINE SVSTDEV =COMMON#; 00067000
|
|
DEFINE JNTGC =COMMON[0,301]#; 00067100
|
|
DEFINE JIP =COMMON[0,302]#; 00067200
|
|
DEFINE JFINC =COMMON[0,303]#; 00067300
|
|
DEFINE JRESDF =COMMON[0,304]#; 00067400
|
|
DEFINE JFOUT =COMMON[0,305]#; 00067500
|
|
DEFINE JKAY =COMMON[0,306]#; 00067600
|
|
DEFINE JFLAG =COMMON[0,307]#; 00067700
|
|
DEFINE JN =COMMON[0,308]#; 00067800
|
|
DEFINE JNINCS =COMMON[0,309]#; 00067900
|
|
DEFINE JKDEP =COMMON[0,310]#; 00068000
|
|
DEFINE JIR =COMMON[0,311]#; 00068100
|
|
DEFINE JXN =COMMON[0,313]#; 00068200
|
|
DEFINE JTOL =COMMON[0,314]#; 00068300
|
|
DEFINE JDF =COMMON[0,315]#; 00068400
|
|
00068500
|
|
DEFINE SVP =ARRAY1#; 00068600
|
|
DEFINE SVKP =ARRAY1#; 00068700
|
|
00068800
|
|
00068900
|
|
00069000
|
|
00069100
|
|
DEFINE SVIQ =ARRAY3#; 00069200
|
|
DEFINE SVQ =ARRAY3#; 00069300
|
|
INTEGER ARRAY TRANS[0:100]; 00069400
|
|
INTEGER ARRAY SVNIEN[0:80], SVINEN[0:80], SVNN[0:5], 00069500
|
|
SVIN[0:80], SVIVPT[0:33], SVNUSE[0:20]; 00069600
|
|
REAL ARRAY SVPPP[0:255], SVFMT1[0:20], SVB[0:80], 00069700
|
|
SVD[0:80], SVXMEAN[0:80], SVF[0:80], SVANAME[0:80], 00069800
|
|
SVBNAME[0:80], SVTOLEV[0:80], SVR[0:80], SVFE[0:80], 00069900
|
|
SVRES[0:19,0:511], SVALBEL[0:80], SVCOL[0:11], SVPINT[0:11], 00070000
|
|
SVQINT[0:11], SVFMT2[0:20], SVBES[0:5]; 00070100
|
|
ARRAY DATA[0:JN1,0:JN2]; 00070200
|
|
REAL ARRAY PREDIC[0:JN2]; 00070300
|
|
INTEGER JKL; 00070400
|
|
INTEGER DX1; 00070500
|
|
INTEGER ARRAY COL[0:80] ; 00070600
|
|
INTEGER ARRAY VVC[0:80] ; 00070700
|
|
INTEGER NON ; 00070800
|
|
INTEGER CHOOSE; 00070900
|
|
INTEGER INDEX1; 00071000
|
|
ARRAY A[0:BB,0:5]; 00071100
|
|
INTEGER KI; 00071200
|
|
OWN INTEGER JI, JNOV, JNVA, JNAIT, JNSPC, JNLV, JNVFC, JKIP, JJ, JLLL, 00071300
|
|
JK, JL, JM, JMAXSTP, JNVIP, JLKL, JIDF, JIRDF, JNVI, JNVO, JNGO, 00071400
|
|
JLNV, JII, JLMN, JLLLL, JLLLLL, JMM, JIJK, JNO, JLJK, JIIX, JKKK, 00071500
|
|
JJJ, JJ1, JJJJJJ, JIRES, JJQ, JMNMN, JKLN, JKLM; 00071600
|
|
OWN REAL JPROBLM, JSUBPRO, JTRNGEN, JCONDEL, JYES, JDXPLTS, JXNO, 00071700
|
|
JFINISH, JDOT, JXMAN, JCODE, JSDAM, JCOVP, JCORP, JZEROI, JWIND, 00071800
|
|
JYMAN, JXM, JXK, JWMAN, JCDF, JRESID, JSUMTAB, JVMAN, JDUM, JENTER, 00071900
|
|
JRESSS, JRESMS, JREGDF, JREGSS, JREGMS, JFRATIO, JSTERR, JXMULTR, 00072000
|
|
JALPHA, JFKAY, JR1SQ, JRSQ, JRSQI, JRMIN, JRMAX, JSUMB, JSRS, JAI, 00072100
|
|
JSPI, JSQI, JAJ, JXX, JXY; 00072200
|
|
COMMENT THE FOLLOWING FUNCTIONS ARE REQUIRED: 00072300
|
|
FNAF; 00072400
|
|
COMMENT THE FOLLOWING SUBROUTINES ARE REQUIRED: 00072500
|
|
SRVFCHCK, SRRDLBL2, SRTRANGN, SRAOUT, SRSTEPRG, SRREMOVE; 00072600
|
|
FORMAT FL8003( 00072700
|
|
X12,"BMD02R - STEPWISE REGRESSION - VERSION OF JULY 17,19600072800
|
|
6 HEALTH SCIENCES COMPUTING FACILITY, UCLA"/ X12,"MODIFIED FOR USE ON TH00072900
|
|
E BURROUGHS B5500 OF THE LOVELACE FOUNDATION BIOMATH DEPT"// 00073000
|
|
X2,"PROBLEM",X17,A6/ 00073100
|
|
X2,"NUMBER OF CASES",X16,I4/X2,"NUMBER OF ORIGINAL VARIABLES",X5,I2/X2, 00073200
|
|
"NUMBER OF VARIABLES ADDED",X8,I2/X2,"TOTAL NUMBER OF VARIABLES",X8, 00073300
|
|
I2/X2,"NUMBER OF SUB-PROBLEMS",X11,I2), 00073400
|
|
00073500
|
|
FLH5774(//" DATA TABLE "//), 00073600
|
|
FL5774 (8I9), 00073700
|
|
FLL5774(////////////////////////////////////////////////////////////////00073800
|
|
////////////////////////////////////////////////////////////), 00073900
|
|
FL5776(20A6), 00074000
|
|
FL8001(A6,X3,A6,X1,I4,5(X3,I2),X2,I2,5(X1,A3),X1,I2,8I1), 00074100
|
|
FL8002(A6,R3.0,R2.0,R3.0,R6.0), 00074200
|
|
FL8777(///" VARIABLE NUMBER SPECIFIED ON TRANSGENERATION CARD ",I4, 00074300
|
|
" EXCEEDS P+Q"), 00074400
|
|
FLL600(I3,X2,R20.8), %9/69 MC00074500
|
|
FL8775(///" ILLEGAL TRANSGENERATION CODE SPECIFIED"), 00074600
|
|
FL8004(12A6), 00074700
|
|
FL8005(/////X4,"VARIABLE",X8,"MEAN",X7,"STANDARD DEVIATION"), 00074800
|
|
FL8006(X3,A6,I3,X2,F14.5,X4,F14.5), 00074900
|
|
FL8007(X6,I2,X6,F14.5,X4,F14.5), 00075000
|
|
FL8008(// " COVARIANCE MATRIX"/), 00075100
|
|
FL8009(//" CORRELATION MATRIX"/), 00075200
|
|
FL8010(A6,X2,I2,X2,I3,3(X2,F8.5),X3,I2,3(X2,A3)), 00075300
|
|
FL8034(" ","SUB-PROBLM",I5/X3,"DEPENDENT VARIABLE",X11,I2/X3, 00075400
|
|
"MAXIMUM NUMBER OF STEPS",X6,I2/X3,"F-LEVEL FOR INCLUSION",X4,F8.6/ 00075500
|
|
X3,"F-LEVEL FOR DELETION",X5,F8.6/X3,"TOLERANCE LEVEL",X10,F8.6), 00075600
|
|
FL8011(A6,66I1 ) , 00075700
|
|
FL9118(//" F-LEVEL INSUFFICIENT FOR FURTHER COMPUTATION"///), 00075800
|
|
FL8012(////X4,"STEP NUMBER",X2,I3/X4,"VARIABLE ",A6,"D ",I4//X4, 00075900
|
|
"MULTIPLE R",X12,F9.4/X4,"STD. ERROR OF EST.",F13.4//X4, 00076000
|
|
"ANALYSIS OF VARIANCE"/X27,"DF",X4,"SUM OF SQUARES",X4,"MEAN SQUARE",00076100
|
|
X4,"F RATIO"/X12,"REGRESSION",X3,I4,F16.3,F16.3,F12.3/X12,"RESIDUAL",X5,00076200
|
|
I4,F16.3,R16.3), 00076300
|
|
FL8013(/X57,"."/X21,"VARIABLES IN EQUATION",X15,".",X19, 00076400
|
|
"VARIABLES NOT IN EQUATION"/X57,"."/X6,"VARIABLE",X6,"COEFFICIENT", 00076500
|
|
X2,"STD. ERROR",X2,"F TO REMOVE .",X5,"VARIABLE",X4,"PARTIAL CORR.", 00076600
|
|
X5,"TOLERANCE",X4,"F TO ENTER"/X57,"."), 00076700
|
|
FL8050(X57,"."/X6,"(CONSTANT",X5,F11.5," )",X24,"."), 00076800
|
|
FL8051(X57,"."/X10,"(CONSTANT",X1,F11.5," )",X24,"."), 00076900
|
|
FL8014(X5,A6,X1,I2,X1,F16.5,X1,F11.5,X1,F11.4,X2,".",X4,A6,X1,I2,X1, 00077000
|
|
F15.5,X1,F13.4,X1,F12.4), 00077100
|
|
FL8015(X9,I2,X1,F19.5,X1,F11.5,X1,F11.4," .",X8,I2,X1,F18.5,X1,F13.4, 00077200
|
|
X1,F12.4), 00077300
|
|
FL8016(X5,A6,X1,I2,X1,F16.5,X1,F11.5,X1,F11.4,X2,"."), 00077400
|
|
FL8017(X9,I2,X1,F19.5,X1,F11.5,X1,F11.4," ."), 00077500
|
|
FL8018(X57,".",X4,A6,X1,I2,X1,F15.5,X1,F13.4,X1,F12.4), 00077600
|
|
FL8019(X57,".",X8,I2,X1,F18.5,X1,F13.4,X1,F12.4), 00077700
|
|
FL8036(" SPECIFIED STEP REACHED"), 00077800
|
|
FL9632(/////" SUMMARY TABLE OMITTED DUE TO LACK OF INFORMATION"), 00077900
|
|
FL9602(" SUMMARY TABLE"//X2,"STEP",X16,"VARIABLE",X10,"MULTIPLE",X17, 00078000
|
|
"INCREASE",X10,"F VALUE TO",X5,"NUMBER OF INDEPENDENT"/X1,"NUMBER", 00078100
|
|
X10,"ENTERED",X2,"REMOVED",X5,"R",X9 ,"RSQ",X15,"IN RSQ",X9, 00078200
|
|
"ENTER OR REMOVE",X4,"VARIABLES INCLUDED"//), 00078300
|
|
FL9603(X2,I2,X15,I2,X9,F11.4,F12.4,X7,F12.4,X4,F16.4,X16,I2), 00078400
|
|
FL9604(X2,I2,X24,I2, F11.4,F12.4,X7,F12.4,X4,F16.4,X16,I2), 00078500
|
|
FL9631(X3,I2,X9,A6,X1,I2,X10,F9.4,F12.4,X5,F14.4,F19.4,X15,I2) , 00078600
|
|
FL9612(X3,I2,X20,A6,X1,I2,F9.4,F13.4,X6,F14.4,X1,F19.4,X15,I2), 00078700
|
|
FL8032(A6,33I2), 00078800
|
|
FL8031(" LIST OF RESIDUALS"///), 00078900
|
|
FL9904(X2,I6,X6,3(F12.5,X5)), 00079000
|
|
FLL9904(X2,I6,X6,4(R12.5,X5)), 00079100
|
|
FL9902(X25"VALUES"/,X5,"CASE",X9,"ACTUAL",X9,"PREDICTED", 00079200
|
|
X9,"RESIDUAL"/), 00079300
|
|
FL9903(5(I6,F15.5,X2)) , 00079400
|
|
FL9901(5(X3,"CASE",X6,"RESIDUAL",X2)) , 00079500
|
|
FL9950(" PLOT OF RESIDUALS (Y-AXIS)",X35,".."/X3,"VS. VARIAB" 00079600
|
|
,"LE ",I3, " (X-AXIS)",X34,"..") , 00079700
|
|
FL9960("(2X,",I1,"(1X,13HVS. VARIABLE ,I3, 9H (X-AXIS),34X,2H..,3X))"), 00079800
|
|
FL9961(" "), 00079900
|
|
FL9955(X2,6F10.3,".."/X7,F10.3,4F10.3,X5,"..") , 00080000
|
|
FL9956(4(X8,51A1,X3,"..")) , 00080100
|
|
FL9951(I1), 00080200
|
|
FL9952(A1), 00080300
|
|
FL9953( F7.2," .",50A1,X3,"..") , 00080400
|
|
FL9954(X8,".",50A1,X3,"..") , 00080500
|
|
FL8020(///" FINISH CARD ENCOUNTERED"), 00080600
|
|
FL8021(" PROGRAM TERMINATED"), 00080700
|
|
FL8022(" NEITHER PROBLM NOR FINISH CARD ENCOUNTERED"), 00080800
|
|
FL8023(/" NUMBER OF VARIABLES, P OR P+Q, OUTSIDE OF LIMITS."), 00080900
|
|
FL8024(" CARD INCORRECTLY PUNCHED OR MISSING. OFFENDING CARD FOLLOWS." 00081000
|
|
//), 00081100
|
|
FL8026(/" TRANSGENERATION"), 00081200
|
|
FL8029(/" SUB-PROBLEM"), 00081300
|
|
FL8030(/" CONTROL-DELETE"), 00081400
|
|
FL8033(/" INDEX-PLOT"); 00081500
|
|
FORMAT OUTT(2R20.8); 00081600
|
|
LIST LIST1(JXMAN,JCODE,JN,JNOV,JNTGC,JNVA,JNAIT,JNSPC,JNLV,JSDAM,JCOVP, 00081700
|
|
JCORP,JZEROI,JWIND,JNVFC,CHOOSE,DATAPRINT,OMITREGRESS); 00081800
|
|
LIST LIST2(JCODE,JN,JNOV,JNVA,JIP,JNSPC); 00081900
|
|
LIST LIST3(JYMAN,FOR DX1~1 STEP 1 UNTIL 3 DO SVKTRANS[(K~(3|JI+DX1-3)). 00082000
|
|
[33:6],K.[39:9]],TRANS[JI]); 00082100
|
|
LIST LIST4(JI); 00082200
|
|
LIST LIST5(FOR DX1~1 STEP 1 UNTIL JNVFC DO SVRES[(K~(DX1)).[34:5],K. 00082300
|
|
[39:9]]); 00082400
|
|
LIST LIST6(FOR DX1~1 STEP 1 UNTIL JNOV DO SVIN[DX1]); 00082500
|
|
LIST LIST7(FOR DX1~1 STEP 1 UNTIL 255 DO SVPPP[DX1]); 00082600
|
|
LIST LIST8(FOR DX1~1 STEP 1 UNTIL JLLL DO SVPPP[DX1]); 00082700
|
|
LIST LIST9(SVALBEL[JI],JI,SVXMEAN[JI],SVSTDEV[(K~(JI+160)).[33:6],K. 00082800
|
|
[39:9]]); 00082900
|
|
LIST LIST10(JI,SVXMEAN[JI],SVSTDEV[(K~(JI+160)).[33:6],K.[39:9]]); 00083000
|
|
LIST LIST11(JWMAN,JKDEP,JMAXSTP,JFINC,JFOUT,JTOL,JNVIP,JCDF,JRESID, 00083100
|
|
JSUMTAB); 00083200
|
|
LIST LIST12(JM,JKDEP,JMAXSTP,JFINC,JFOUT,JTOL); 00083300
|
|
LIST LIST13(JVMAN,FOR DX1~1 STEP 1 UNTIL JIP DO SVC[DX1]); 00083400
|
|
LIST LIST14(JVMAN,FOR DX1~1 STEP 1 UNTIL 66 DO SVC[DX1],JDUM,FOR DX1~67 00083500
|
|
STEP 1 UNTIL JIP DO SVC[DX1]); 00083600
|
|
LIST LIST15(JL,JENTER,JKAY,JXMULTR,JSTERR,JIDF,JREGSS,JREGMS,JFRATIO, 00083700
|
|
JIRDF,JRESSS,JRESMS); 00083800
|
|
LIST LIST16(JL,JKAY,JFLAG,JXMULTR,JFKAY,JNVI); 00083900
|
|
LIST LIST17(JALPHA); 00084000
|
|
LIST LIST18(SVANAME[JI],SVINEN[JI],SVB[JI],SVD[JI],SVF[JI],SVBNAME[ 00084100
|
|
JI],SVNIEN[JI],SVR[JI],SVTOLEV[JI],SVFE[JI]); 00084200
|
|
LIST LIST19(SVINEN[JI],SVB[JI],SVD[JI],SVF[JI],SVNIEN[JI],SVR[JI], 00084300
|
|
SVTOLEV[JI],SVFE[JI]); 00084400
|
|
LIST LIST20(SVANAME[JII],SVINEN[JII],SVB[JII],SVD[JII],SVF[JII]); 00084500
|
|
LIST LIST21(SVINEN[JII],SVB[JII],SVD[JII],SVF[JII]); 00084600
|
|
LIST LIST22(SVBNAME[JII],SVNIEN[JII],SVR[JII],SVTOLEV[JII],SVFE[JII]); 00084700
|
|
LIST LIST23(SVNIEN[JII],SVR[JII],SVTOLEV[JII],SVFE[JII]); 00084800
|
|
LIST LIST24(JLMN,JKAY,JFLAG,JXMULTR,JFKAY,JNVI); 00084900
|
|
LIST LIST25(JLMN,JKAY,JXMULTR,JRSQ,JRSQI,JFKAY,JNVI); 00085000
|
|
LIST LIST26(JLMN,SVALBEL[JKAY],JKAY,JXMULTR,JRSQ,JRSQI,JFKAY,JNVI); 00085100
|
|
LIST LIST27(JWMAN,FOR DX1~1 STEP 1 UNTIL JNVIP DO SVIVPT[DX1]); 00085200
|
|
LIST LIST28(FOR DX1~1 STEP 1 UNTIL JLLLL DO SVPPP[DX1]); 00085300
|
|
LIST LIST29(JIJK); 00085400
|
|
LIST LIST30(JI,SVX[JKDEP],PREDIC[JI],SVRES[(K~(JI)).[34:5],K.[39:9]]); 00085500
|
|
LIST LIST31(FOR DX1~1 STEP 1 UNTIL JIJK DO [SVNN[DX1],SVBES[DX1]]); 00085600
|
|
LIST LIST32(JKKK); 00085700
|
|
LIST LIST33(FOR INDEX1~1 STEP 1 UNTIL 20 DO SVFMT1[INDEX1]); 00085800
|
|
LIST LIST34(JII,JJJ); 00085900
|
|
LIST LIST35(JII); 00086000
|
|
LIST LIST36(JKKK,JKKK); 00086100
|
|
LIST LIST37(FOR DX1~1 STEP 2 UNTIL 11 DO SVPINT[DX1],FOR DX1~2 STEP 2 00086200
|
|
UNTIL 11 DO SVPINT[DX1]); 00086300
|
|
LIST LIST38(FOR DX1~1 STEP 2 UNTIL 11 DO SVPINT[DX1],FOR DX1~1 STEP 2 00086400
|
|
UNTIL 11 DO SVQINT[DX1],FOR DX1~2 STEP 2 UNTIL 11 DO SVPINT[DX1],FOR 00086500
|
|
DX1~2 STEP 2 UNTIL 11 DO SVQINT[DX1]); 00086600
|
|
LIST LIST39(FOR DX1~1 STEP 1 UNTIL JMNMN DO JDOT); 00086700
|
|
LIST LIST40(SVKP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]); 00086800
|
|
LIST LIST41(SVP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]); 00086900
|
|
LIST LIST42(SVIQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]); 00087000
|
|
LIST LIST43(SVQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]); 00087100
|
|
LIST LIST44(SVCOL[JKLN],FOR DX1~1 STEP 1 UNTIL 50 DO SVP[(K~(50|DX1+ 00087200
|
|
JK-50)).[36:3],K.[39:9]],SVCOL[JKLN],FOR DX1~1 STEP 1 UNTIL 50 DO SVQ[ 00087300
|
|
(K~(50|DX1+JK-50)).[36:3],K.[39:9]]); 00087400
|
|
LIST LIST45(SVCOL[JKLN],FOR DX1~1 STEP 1 UNTIL 50 DO SVP[(K~(50|DX1+ 00087500
|
|
JK-50)).[36:3],K.[39:9]]); 00087600
|
|
LIST LIST46(FOR DX1~1 STEP 1 UNTIL 50 DO SVP[(K~(50|DX1+JK-50)).[36:3], 00087700
|
|
K.[39:9]]); 00087800
|
|
LIST LIST47(FOR DX1~1 STEP 1 UNTIL 50 DO SVP[(K~(50|DX1+JK-50)).[36:3], 00087900
|
|
K.[39:9]],FOR DX1~1 STEP 1 UNTIL 50 DO SVQ[(K~(50|DX1+JK-50)).[36:3], 00088000
|
|
K.[39:9]]); 00088100
|
|
LIST LIST48(JKKK,JKKK,JKKK,JKKK); 00088200
|
|
SWITCH FORMAT SW ~ 00088300
|
|
(A6,R3.0,R2.0,R3.0,R6.0), 00088400
|
|
(A6,X2,I2,X2,I3,3(X2,F8.5),X3,I2,3(X2,A3)), 00088500
|
|
(A6,66I1 ) , 00088600
|
|
(A6,33I2), 00088700
|
|
(A6,X2,I2,X2,I3,3(X2,F8.5),X3,I2,3(X2,A3)) 00088800
|
|
;00088900
|
|
SWITCH LIST SL ~ LIST3, LIST11, LIST14, LIST27, LIST11 ;00089000
|
|
BEGIN 00089100
|
|
LABEL L1,L7,L7778,L9777,L9775,L1000,L108,L1120,L9,L10,L4300,L50001, 00089200
|
|
L50003,L17,L29,L32,L331,L34,L352,L15000,L39,L391,L392,L393,L41,L42, 00089300
|
|
L43,L16001,L16004,L16000,L471,L473,L44,L51,L52,L46,L54,L48,L57,L55, 00089400
|
|
L117,L9622,L23312,L9611,L23314,L23310,L9605,L75,L51000,L25000,L81, 00089500
|
|
L20200,L78,L24000,L72,L74,L73,L98,L99,L101,L20500,L61000,L20700, 00089600
|
|
L116,L111,L9614,L9615,L9403,L83,L84,L86,L88,L89,L20900,L94,L9551, 00089700
|
|
L95,L96,L9662,L20800,L114,L20401,L13000,L9999,L22100,L22200,L9003, 00089800
|
|
L9004,L9009,L9011; 00089900
|
|
LABEL L1118 ; 00090000
|
|
LABEL L9002,L1119,L121,L19,L9010,L241 ; 00090100
|
|
LABEL L9001,L3,L9006,L122,L18,L242,L36,L443,L80001 ;00090200
|
|
LABEL L2,L7777,L8,L11,L14,L15,L23,L824,L27,L35,L361,L442, 00090300
|
|
L9606,L8888,L76,L90 ; 00090400
|
|
LABEL LL1,LL2 ; 00090500
|
|
LABEL DATAERROR; 00090600
|
|
BEGIN 00090700
|
|
REAL ERSATZ ; 00090800
|
|
ERSATZ ~ 1.0 ; 00090900
|
|
JPROBLM~(+"PROBLM"); 00091000
|
|
JSUBPRO~(+"SUBPRO"); 00091100
|
|
JTRNGEN~(+"TRNGEN"); 00091200
|
|
JCONDEL~(+"CONDEL"); 00091300
|
|
JYES~(+"YES"); 00091400
|
|
JDXPLTS~(+"IDXPLT"); 00091500
|
|
JXNO~(+" NO"); 00091600
|
|
JFINISH~(+"FINISH"); 00091700
|
|
00091800
|
|
REWIND(TAPE2); 00091900
|
|
JDOT~(+"."); 00092000
|
|
SVNUSE[1]~1; 00092100
|
|
JI~1; 00092200
|
|
END; 00092300
|
|
DO BEGIN 00092400
|
|
SVNUSE[JI]~0 END UNTIL (JI~(JI+1))>20; 00092500
|
|
COMMENT READ PROBLEM CARD; 00092600
|
|
L1: READ(TAPE,FL8001,LIST1)[FINIS]; 00092700
|
|
COMMENT CHECK PROBLEM CARD FOR VALID PARAMETERS; 00092800
|
|
IF JXMAN = JFINISH THEN GO TO L9001 ELSE GO TO L2 ; 00092900
|
|
COMMENT "B" CARD 2 IF(XMAN*(-PROBLM)+(-XMAN)*PROBLM) 9002,3,9002; 00093000
|
|
L2: IF JXMAN = JPROBLM THEN GO TO L3 ELSE GO TO L9002 ; 00093100
|
|
L3: 00093200
|
|
JIP~INT(JNOV+JNVA); 00093300
|
|
IF NOT PAGEIT THEN PAGEIT~TRUE ELSE WRITE(PRINT[PAGE]); 00093400
|
|
WRITE(PRINT,FL8003,LIST2); 00093500
|
|
IF ((JNOV-1)|(JNOV-81))}0 THEN GO TO L9003; 00093600
|
|
IF ((JIP-1)|(JIP-81))}0 THEN GO TO L9003; 00093700
|
|
SRVFCHCK(JNVFC); 00093800
|
|
IF JNTGC>0 THEN GO TO L7 ELSE GO TO L108; 00093900
|
|
COMMENT READ TRANSGENERATION CARDS; 00094000
|
|
L7: JI~1; 00094100
|
|
DO BEGIN 00094200
|
|
READ (TAPE,FL8002,LIST3)[FINIS]; 00094300
|
|
SVTRANS[JI] ~ TRANS[JI]; 00094400
|
|
COMMENT CHECK TRANSGENERATION PARAMETERS; 00094500
|
|
IF JYMAN = JTRNGEN THEN GO TO L7777 ELSE 00094600
|
|
BEGIN ERRORIDENT ~ 0; GO TO L9006 END; 00094700
|
|
COMMENT "B" CARD IF(YMAN*(-TRNGEN)+(-YMAN)*TRNGEN) 9006,7777,9006; 00094800
|
|
L7777: 00094900
|
|
JKIP~JIP; 00095000
|
|
IF JNVA}0 THEN GO TO L7778; 00095100
|
|
JKIP~JNOV; 00095200
|
|
L7778: IF (SVKTRANS[(K~(3|JI-2)).[33:6],K.[39:9]]>JKIP) THEN GO TO 00095300
|
|
L9777; 00095400
|
|
IF (SVKTRANS[(K~(3|JI)).[33:6],K.[39:9]]>JKIP) THEN GO TO L9777; 00095500
|
|
IF (SVKTRANS[(K~(3|JI-1)).[33:6],K.[39:9]]>24) THEN GO TO L9775 ELSE 00095600
|
|
GO TO L1000; 00095700
|
|
L9777: WRITE(PRINT,FL8777,LIST4); 00095800
|
|
JNAIT~-24; 00095900
|
|
GO TO L1000; 00096000
|
|
L9775: WRITE(PRINT,FL8775); 00096100
|
|
JNAIT~-24; 00096200
|
|
L1000: END UNTIL (JI~(JI+1))>JNTGC; 00096300
|
|
L108: IF (XPR~(JNAIT))>0 THEN GO TO L8; 00096400
|
|
IF XPR<0 THEN GO TO L9999; 00096500
|
|
JNAIT~5; 00096600
|
|
GO TO L1120; 00096700
|
|
L8: IF JWIND = JXNO THEN GO TO L1119 ELSE GO TO L1118 ; 00096800
|
|
COMMENT "B" CARD 8 IF(WIND*(-XNO)+(-WIND)*XNO)1118,1119,1118; 00096900
|
|
L1118: 00097000
|
|
COMMENT REWIND (FILES[JNAIT]) THIS IS TO REWIND THE INPUT TAPE ;00097100
|
|
L1119: 00097200
|
|
SVNUSE[JNAIT]~1; 00097300
|
|
L1120: IF JNLV>0 THEN GO TO L9 ELSE GO TO L10; 00097400
|
|
COMMENT READ LABEL CARDS; 00097500
|
|
L9: SRRDLBL2(JNLV,JIP,SVALBEL); 00097600
|
|
COMMENT READ VARIABLE FORMAT CARDS; 00097700
|
|
L10: JNVFC~JNVFC|12; 00097800
|
|
OBJECTFMTGEN(FLL5774); 00097900
|
|
COMMENT INITIALIZE ACCUMULATORS AND MATRIX A; 00098000
|
|
JXN~JN; 00098100
|
|
JI~1; 00098200
|
|
DO BEGIN 00098300
|
|
SVXMEAN[JI]~0; 00098400
|
|
JJ~1; 00098500
|
|
DO BEGIN 00098600
|
|
SVA[JJ,JI]~0; 00098700
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00098800
|
|
JLLL~0; 00098900
|
|
IF FRFIELD THEN 00099000
|
|
READ(TAPE,/,FOR JJ~1 STEP 1 UNTIL JN2 DO FOR DX1~1 STEP 1 UNTIL JN1 DO 00099100
|
|
DATA[DX1,JJ])[DATAERROR]; 00099200
|
|
IF DATAPRINT=1 THEN WRITE(PRINT,FLH5774); 00099300
|
|
JKL~1; 00099400
|
|
JK~1; 00099500
|
|
DO BEGIN 00099600
|
|
BEGIN 00099700
|
|
REAL ERSATZ ; 00099800
|
|
ERSATZ ~ 1.0 ; 00099900
|
|
JNINCS~INT(JK); 00100000
|
|
IF FRFIELD THEN 00100100
|
|
FOR DX1~1 STEP 1 UNTIL JNOV DO SVX[DX1]~DATA[DX1,JKL] ELSE00100200
|
|
READ(TAPE,FLL5774,FOR DX1~1 STEP 1 UNTIL JNOV DO SVX[DX1])[DATAERROR]; 00100300
|
|
IF DATAPRINT=1 THEN WRITE (PRINT, FLL5774,FOR DX1~1 STEP 1 UNTIL JNOV DO00100400
|
|
SVX[DX1]); 00100500
|
|
END; 00100600
|
|
IF JNTGC{0 THEN GO TO L11; 00100700
|
|
SRTRANGN; 00100800
|
|
L11: IF JZEROI = JYES THEN GO TO L122 ELSE GO TO L121 ; 00100900
|
|
COMMENT "B" CARD 11 IF(ZEROI*(-YES)+(-ZEROI)*YES) 121,122,121; 00101000
|
|
L122: 00101100
|
|
JI~1; 00101200
|
|
DO BEGIN 00101300
|
|
SVXMEAN[JI]~SVXMEAN[JI]+SVX[JI]; 00101400
|
|
JJ~JI; 00101500
|
|
DO BEGIN 00101600
|
|
SVA[JJ,JI]~SVA[JJ,JI]+SVX[JI]|SVX[JJ]; 00101700
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00101800
|
|
JXM~JN; 00101900
|
|
GO TO L4300; 00102000
|
|
L121: 00102100
|
|
JXK~JK; 00102200
|
|
JI~1; 00102300
|
|
DO BEGIN 00102400
|
|
SVXMEAN[JI]~SVXMEAN[JI]+SVX[JI]; 00102500
|
|
END UNTIL (JI~(JI+1))>JIP; 00102600
|
|
JI~1; 00102700
|
|
COMMENT COMPUTING SUMS OF SQUARES AND CROSS PRODUCTS; 00102800
|
|
DO BEGIN 00102900
|
|
JJ~JI; 00103000
|
|
DO BEGIN 00103100
|
|
SVA[JJ,JI] ~ SVA[JJ,JI] +SVX[JI] | SVX[JJ] ; 00103200
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00103300
|
|
JXM~JN-1; 00103400
|
|
L4300: JL~1; 00103500
|
|
JKL~JKL+1; 00103600
|
|
WRITE(TAPE2,OKTL,FOR JL ~ 1 STEP 1 UNTIL JIP DO SVX[JL ]); 00103700
|
|
END UNTIL (JK~(JK+1))>JN; 00103800
|
|
SVNUSE[2]~1; 00103900
|
|
IF JLLL{0 THEN GO TO L50003; 00104000
|
|
L50003: 00104100
|
|
REWIND(TAPE2); 00104200
|
|
COMMENT REPLACE XMEAN WITH MEAN VECTOR, A WITH COVARIANCE MATRIX,AND; 00104300
|
|
COMMENT COMPUTE STANDARD DEVIATIONS; 00104400
|
|
IF JZEROI = JYES THEN GO TO LL1 ELSE GO TO LL2 ; 00104500
|
|
COMMENT COMPUTING RESIDUAL SUMS OF SQUARES AND CROSS PRODUCTS; 00104600
|
|
LL2: FOR JI ~ 1 STEP 1 UNTIL JIP DO 00104700
|
|
FOR JJ ~ JI STEP 1 UNTIL JIP DO 00104800
|
|
SVA[JJ,JI] ~ SVA[JJ,JI] - SVXMEAN[JI] | SVXMEAN[JJ]/JXN ;00104900
|
|
LL1: 00105000
|
|
JI~1; 00105100
|
|
DO BEGIN 00105200
|
|
SVXMEAN[JI]~SVXMEAN[JI]/JXN; 00105300
|
|
JJ~JI; 00105400
|
|
DO BEGIN 00105500
|
|
SVA[JJ,JI]~SVA[JJ,JI]/JXM; 00105600
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00105700
|
|
JI~1; 00105800
|
|
DO BEGIN 00105900
|
|
SVSTDEV[(K~(JI+160)).[33:6],K.[39:9]]~SQRT(SVA[JI,JI]); 00106000
|
|
END UNTIL (JI~(JI+1))>JIP; 00106100
|
|
COMMENT WRITE OUT MEANS AND STANDARD DEVIATIONS IF REQUESTED; 00106200
|
|
IF JSDAM = JYES THEN GO TO L14 ELSE GO TO L15 ; 00106300
|
|
COMMENT "B" CARD IF(SDAM*(-YES)+(-SDAM)*YES)15,14,15; 00106400
|
|
L14: 00106500
|
|
WRITE(PRINT,FL8005); 00106600
|
|
IF JNLV{0 THEN GO TO L17; 00106700
|
|
JI~1; 00106800
|
|
DO BEGIN 00106900
|
|
WRITE(PRINT,FL8006,LIST9); 00107000
|
|
END UNTIL (JI~(JI+1))>JIP; 00107100
|
|
GO TO L15; 00107200
|
|
L17: JI~1; 00107300
|
|
DO BEGIN 00107400
|
|
WRITE(PRINT,FL8007,LIST10); 00107500
|
|
END UNTIL (JI~(JI+1))>JIP; 00107600
|
|
COMMENT PRINT COVARIANCE MATRIX IF REQUESTED; 00107700
|
|
L15: IF JCOVP = JYES THEN GO TO L18 ELSE GO TO L19 ; 00107800
|
|
COMMENT "B" CARD 15 IF(COVP*(-YES)+(-COVP)*YES) 19,18,19; 00107900
|
|
L18: 00108000
|
|
WRITE(PRINT,FL8008); 00108100
|
|
SRAOUT; 00108200
|
|
COMMENT REPLACE UPPER DIAGONAL SECTION OF MATRIX WITH CORRELATION MATRIX00108300
|
|
; 00108400
|
|
L19: 00108500
|
|
JI~1; 00108600
|
|
DO BEGIN 00108700
|
|
JJ~JI; 00108800
|
|
DO BEGIN 00108900
|
|
SVA[JJ,JI]~SVA[JJ,JI]/(SVSTDEV[(K~(JI+160)).[33:6],K.[39:9]]| 00109000
|
|
SVSTDEV[(K~(JJ+160)).[33:6],K.[39:9]]); 00109100
|
|
SVA[JI,JJ]~SVA[JJ,JI]; 00109200
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00109300
|
|
COMMENT PRINT CORRELATION MATRIX IF REQUESTED; 00109400
|
|
IF JCORP = JYES THEN GO TO L23 ELSE GO TO L824 ; 00109500
|
|
COMMENT "B" CARD IF(CORP*(-YES)+(-CORP)*YES) 824,23,824; 00109600
|
|
L23: 00109700
|
|
WRITE(PRINT,FL8009); 00109800
|
|
SRAOUT; 00109900
|
|
L824: IF JZEROI = JYES THEN GO TO L242 ELSE GO TO L241 ; 00110000
|
|
COMMENT "B" CARD 824 IF(ZEROI*(-YES)+(-ZEROI)*YES) 241,242,241; 00110100
|
|
L241: 00110200
|
|
JXN~JXN-1; 00110300
|
|
L242: 00110400
|
|
JM~1; 00110500
|
|
DO BEGIN 00110600
|
|
COMMENT RESTORE THE CORRELATION MATRIX; 00110700
|
|
JI~1; 00110800
|
|
DO BEGIN 00110900
|
|
SVA[JI,JI]~1; 00111000
|
|
JK~JI+1; 00111100
|
|
JJ~JK; 00111200
|
|
DO BEGIN 00111300
|
|
SVA[JJ,JI]~SVA[JI,JJ]; 00111400
|
|
END UNTIL (JJ~(JJ+1))>JIP END UNTIL (JI~(JI+1))>JIP; 00111500
|
|
COMMENT READ SUB PROBLEM CARD; 00111600
|
|
READ (TAPE,FL8010,LIST11)[FINIS]; 00111700
|
|
IF JWMAN = JSUBPRO THEN GO TO L27 ELSE 00111800
|
|
BEGIN ERRORIDENT ~ 1; GO TO L9009 END; 00111900
|
|
COMMENT "B" CARD IF(WMAN*(-SUBPRO)+(-WMAN)*SUBPRO) 9009,27,9009; 00112000
|
|
L27: 00112100
|
|
IF JNVIP > 33 THEN 00112200
|
|
BEGIN REGRESSCHECK ~ 3; 00112300
|
|
ERRORIDENT~4; GO TO L9009 END; 00112400
|
|
IF JFINC>0 THEN GO TO L29; 00112500
|
|
JFINC~0.01; 00112600
|
|
L29: IF JFOUT>0 THEN GO TO L32; 00112700
|
|
JFOUT~0.005; 00112800
|
|
L32: IF JTOL>0 THEN GO TO L331; 00112900
|
|
JTOL~0.001; 00113000
|
|
L331: IF JMAXSTP>0 THEN GO TO L34; 00113100
|
|
JMAXSTP~JIP|2; 00113200
|
|
L34: JI~1; 00113300
|
|
DO BEGIN 00113400
|
|
SVC[JI]~0; 00113500
|
|
END UNTIL (JI~(JI+1))>JIP; 00113600
|
|
WRITE(PRINT[PAGE]); 00113700
|
|
WRITE(PRINT,FL8034,LIST12); 00113800
|
|
IF JCDF = JYES THEN GO TO L35 ELSE GO TO L36 ; 00113900
|
|
COMMENT "B" CARD IF(CDF*(-YES)+(-CDF)*YES) 36,35,36; 00114000
|
|
L35: 00114100
|
|
IF (JIP>66) THEN GO TO L352; 00114200
|
|
READ (TAPE,FL8011,LIST13)[FINIS]; 00114300
|
|
GO TO L361; 00114400
|
|
L352: READ(TAPE,FL8011,LIST14)[FINIS]; 00114500
|
|
L361: IF JVMAN = JCONDEL THEN GO TO L36 ELSE 00114600
|
|
BEGIN ERRORIDENT ~ 2; GO TO L9010 END; 00114700
|
|
COMMENT "B" CARD 361 IF(VMAN*(-CONDEL)+(-VMAN)*CONDEL)9010,36,9010; 00114800
|
|
L36: 00114900
|
|
JI~1; 00115000
|
|
DO BEGIN 00115100
|
|
IF (SVC[JI])>0 THEN GO TO L15000; 00115200
|
|
SVC[JI]~2; 00115300
|
|
L15000: END UNTIL (JI~(JI+1))>JIP; 00115400
|
|
SVC[JKDEP]~1; 00115500
|
|
JDF~0; 00115600
|
|
JLKL~0; 00115700
|
|
JL~0; 00115800
|
|
L39: JL~JL+1; 00115900
|
|
COMMENT CALL SUBROUTINE TO ENTER VARIABLE,CALCULATE VALUES TO BE PRINT00116000
|
|
ED; 00116100
|
|
SRSTEPRG(SVC) ; 00116200
|
|
IF (XPR~(JFLAG))>0 THEN GO TO L392; 00116300
|
|
IF XPR<0 THEN GO TO L391; 00116400
|
|
WRITE(PRINT,FL9118); 00116500
|
|
GO TO L117; 00116600
|
|
L391: JENTER~(+"REMOVE"); 00116700
|
|
GO TO L393; 00116800
|
|
L392: JENTER~(+"ENTERE"); 00116900
|
|
L393: JRESDF~JXN-JDF; 00117000
|
|
BEGIN 00117100
|
|
REAL ERSATZ ; 00117200
|
|
JXN ~ JXN ; JRESDF ~ JRESDF ; 00117300
|
|
ERSATZ ~ 1.0 ; 00117400
|
|
JRESSS~JXN|(SVSTDEV[(K~(JKDEP+160)).[33:6],K.[39:9]]*2)|SVA[JKDEP, 00117500
|
|
JKDEP]; 00117600
|
|
IF JRESDF = 0 THEN JRESMS ~ 0 ELSE 00117700
|
|
JRESMS~JRESSS/JRESDF; 00117800
|
|
JREGDF~JDF; 00117900
|
|
JREGSS~JXN|(SVSTDEV[(K~(JKDEP+160)).[33:6],K.[39:9]]*2)-JRESSS; 00118000
|
|
JREGMS~JREGSS/JREGDF; 00118100
|
|
IF JRESMS = 0 THEN JFRATIO ~ 0 ELSE 00118200
|
|
JFRATIO~JREGMS/JRESMS; 00118300
|
|
IF JRESMS < 0 THEN JRESMS ~ 0; 00118400
|
|
JSTERR~SQRT(JRESMS); 00118500
|
|
JXMULTR~SQRT(1-SVA[JKDEP,JKDEP]); 00118600
|
|
JIDF~JDF; 00118700
|
|
JIRDF~JRESDF; 00118800
|
|
WRITE(PRINT,FL8012,LIST15); 00118900
|
|
COMMENT A VARIABLE IS IN THE EQUATION IF C(I) IS LESS THAN OR EQUAL TO00119000
|
|
0.0; 00119100
|
|
JNVI~0; 00119200
|
|
JNVO~0; 00119300
|
|
JALPHA~SVXMEAN[JKDEP]; 00119400
|
|
JI~1; 00119500
|
|
END; 00119600
|
|
DO BEGIN 00119700
|
|
IF (JI=JKDEP) THEN GO TO L16000; 00119800
|
|
IF (SVC[JI])>0 THEN GO TO L42 ELSE GO TO L41; 00119900
|
|
COMMENT COMPUTE MULTIPLE REGRESSION EQUATION COEFFICIENTS,STD.ERROR,00120000
|
|
; 00120100
|
|
COMMENT AND F TO REMOVE, FOR VARIABLES IN THE REGRESSION; 00120200
|
|
L41: JNVI~JNVI+1; 00120300
|
|
SVB[JNVI]~SVSTDEV[(K~(JKDEP+160)).[33:6],K.[39:9]]|FNAF(JI,JKDEP)/ 00120400
|
|
SVSTDEV[(K~(JI+160)).[33:6],K.[39:9]]; 00120500
|
|
SVD[JNVI]~(JSTERR/SVSTDEV[(K~(JI+160)).[33:6],K.[39:9]])|SQRT(-SVA[ 00120600
|
|
JI,JI]/JXN); 00120700
|
|
IF SVD[JNVI]=0.0 THEN SVF[JNVI]~0.0 ELSE 00120800
|
|
SVF[JNVI]~(SVB[JNVI]/SVD[JNVI])*2; 00120900
|
|
JALPHA~JALPHA-SVB[JNVI]|SVXMEAN[JI]; 00121000
|
|
SVANAME[JNVI]~SVALBEL[JI]; 00121100
|
|
SVINEN[JNVI]~JI; 00121200
|
|
GO TO L16001; 00121300
|
|
COMMENT A VARIABLE IS OUT OF THE REGRESSION IF C(I) IS GREATER THAN 00121400
|
|
OR; 00121500
|
|
COMMENT EQUAL TO 1; 00121600
|
|
L42: IF (SVC[JI]}1) THEN GO TO L43 ELSE GO TO L16000; 00121700
|
|
COMMENT COMPUTE PARTIAL CORRELATION COEFFICIENTS, TOLERANCE, AND; 00121800
|
|
COMMENT F TO ENTER FOR VARIABLES OUT OF THE REGRESSION; 00121900
|
|
L43: JNVO~JNVO+1; 00122000
|
|
SVBNAME[JNVO]~SVALBEL[JI]; 00122100
|
|
SVNIEN[JNVO]~JI; 00122200
|
|
SVTOLEV[JNVO]~SVA[JI,JI]; 00122300
|
|
SVR[JNVO]~FNAF(JI,JKDEP)/SQRT(SVA[JI,JI]|SVA[JKDEP,JKDEP]); 00122400
|
|
SVFE[JNVO]~((FNAF(JI,JKDEP)*2)|(JRESDF-1))/(SVA[JI,JI]|SVA[JKDEP, 00122500
|
|
JKDEP]-(FNAF(JI,JKDEP)*2)); 00122600
|
|
L16001: IF (JI!JKAY) THEN GO TO L16000; 00122700
|
|
IF (SVC[JI])>0 THEN GO TO L16004; 00122800
|
|
JFKAY~SVF[JNVI]; 00122900
|
|
GO TO L16000; 00123000
|
|
L16004: JFKAY~SVFE[JNVO]; 00123100
|
|
L16000: END UNTIL (JI~(JI+1))>JIP; 00123200
|
|
IF JZEROI = JYES THEN GO TO L442 ELSE GO TO L443 ; 00123300
|
|
COMMENT "B" CARD IF(ZEROI*(-YES)+(-ZEROI)*YES) 443,442,443; 00123400
|
|
L442: 00123500
|
|
JALPHA~0; 00123600
|
|
COMMENT WRITE HEADING FOR COEFFICIENTS; 00123700
|
|
L443: 00123800
|
|
WRITE(PRINT,FL8013); 00123900
|
|
A[JLKL,0] ~JL; 00124000
|
|
A[JLKL,1] ~JKAY; 00124100
|
|
A[JLKL,2] ~JFLAG; 00124200
|
|
A[JLKL,3] ~JXMULTR; 00124300
|
|
A[JLKL,4] ~JFKAY; 00124400
|
|
A[JLKL,5] ~JNVI; 00124500
|
|
JLKL~JLKL+1; 00124600
|
|
COMMENT PRINT THE REGRESSION ANALYSIS TABLE; 00124700
|
|
IF JNLV{0 THEN GO TO L471; 00124800
|
|
WRITE(PRINT,FL8050,LIST17); 00124900
|
|
GO TO L473; 00125000
|
|
L471: WRITE(PRINT,FL8051,LIST17); 00125100
|
|
L473: JNGO~0; 00125200
|
|
L44: IF JNVO{0 THEN GO TO L46; 00125300
|
|
IF JNVI{0 THEN GO TO L48; 00125400
|
|
JLNV~MIN(JNVI,JNVO); 00125500
|
|
COMMENT NVO AND NVI BOTH POSITIVE,PRINT BOTH SIDES OF TABLE; 00125600
|
|
IF OMITREGRESS = 1 THEN GO TO L46; 00125700
|
|
IF JNLV{0 THEN GO TO L51; 00125800
|
|
JI~1; 00125900
|
|
DO BEGIN 00126000
|
|
WRITE(PRINT,FL8014,LIST18); 00126100
|
|
END UNTIL (JI~(JI+1))>JLNV; 00126200
|
|
GO TO L52; 00126300
|
|
L51: JI~1; 00126400
|
|
DO BEGIN 00126500
|
|
WRITE(PRINT,FL8015,LIST19); 00126600
|
|
END UNTIL (JI~(JI+1))>JLNV; 00126700
|
|
L52: JNVI~JNVI-JLNV; 00126800
|
|
JNVO~JNVO-JLNV; 00126900
|
|
JNGO~JLNV; 00127000
|
|
GO TO L44; 00127100
|
|
COMMENT NVO ZERO, PRINT LEFT SIDE ONLY; 00127200
|
|
L46: IF JNVI{0 THEN GO TO L55; 00127300
|
|
IF JNLV{0 THEN GO TO L54; 00127400
|
|
JI~1; 00127500
|
|
DO BEGIN 00127600
|
|
JII~JI+JNGO; 00127700
|
|
WRITE(PRINT,FL8016,LIST20); 00127800
|
|
END UNTIL (JI~(JI+1))>JNVI; 00127900
|
|
GO TO L55; 00128000
|
|
L54: JI~1; 00128100
|
|
DO BEGIN 00128200
|
|
JII~JI+JNGO; 00128300
|
|
WRITE(PRINT,FL8017,LIST21); 00128400
|
|
END UNTIL (JI~(JI+1))>JNVI; 00128500
|
|
GO TO L55; 00128600
|
|
COMMENT NVI ZERO,PRINT RIGHT SIDE ONLY; 00128700
|
|
L48: IF JNLV{0 THEN GO TO L57; 00128800
|
|
JI~1; 00128900
|
|
DO BEGIN 00129000
|
|
JII~JI+JNGO; 00129100
|
|
WRITE(PRINT,FL8018,LIST22); 00129200
|
|
END UNTIL (JI~(JI+1))>JNVO; 00129300
|
|
GO TO L55; 00129400
|
|
L57: JI~1; 00129500
|
|
DO BEGIN 00129600
|
|
JII~JI+JNGO; 00129700
|
|
WRITE(PRINT,FL8019,LIST23); 00129800
|
|
END UNTIL (JI~(JI+1))>JNVO; 00129900
|
|
L55: IF (JL<JMAXSTP) THEN GO TO L39; 00130000
|
|
WRITE(PRINT,FL8036); 00130100
|
|
L117: 00130200
|
|
00130300
|
|
IF JSUMTAB = JYES THEN GO TO L9606 ELSE GO TO L9605 ; 00130400
|
|
COMMENT "B" CARD IF(SUMTAB*(-YES)+(-SUMTAB)*YES) 9605,9606,9605; 00130500
|
|
L9606: 00130600
|
|
IF JLKL>0 THEN GO TO L9622; 00130700
|
|
WRITE(PRINT,FL9632); 00130800
|
|
GO TO L9605; 00130900
|
|
L9622: WRITE(PRINT,FL9602); 00131000
|
|
JR1SQ~0; 00131100
|
|
JI~1; 00131200
|
|
DO BEGIN 00131300
|
|
KI ~ JI - 1; 00131400
|
|
JLMN ~ A[KI,0]; 00131500
|
|
JKAY ~ A[KI,1]; 00131600
|
|
JFLAG ~ A[KI,2]; 00131700
|
|
JXMULTR ~ A[KI,3]; 00131800
|
|
JFKAY ~ A[KI,4]; 00131900
|
|
JNVI ~ A[KI,5]; 00132000
|
|
JRSQ~JXMULTR*2; 00132100
|
|
JRSQI~JRSQ-JR1SQ; 00132200
|
|
JR1SQ~JRSQ; 00132300
|
|
IF JNLV>0 THEN GO TO L9611; 00132400
|
|
IF (XPR~(JFLAG))=0 THEN GO TO L23310; 00132500
|
|
IF XPR<0 THEN GO TO L23312; 00132600
|
|
WRITE(PRINT,FL9603,LIST25); 00132700
|
|
GO TO L23310; 00132800
|
|
L23312: WRITE(PRINT,FL9604,LIST25); 00132900
|
|
GO TO L23310; 00133000
|
|
L9611: IF (XPR~(JFLAG))=0 THEN GO TO L23310; 00133100
|
|
IF XPR<0 THEN GO TO L23314; 00133200
|
|
WRITE(PRINT,FL9631,LIST26); 00133300
|
|
GO TO L23310; 00133400
|
|
L23314: WRITE(PRINT,FL9612,LIST26); 00133500
|
|
L23310: END UNTIL (JI~(JI+1))>JLKL; 00133600
|
|
L9605: 00133700
|
|
IF JNVIP>0 THEN GO TO L75; 00133800
|
|
L8888: IF JRESID = JYES THEN GO TO L80001 ELSE GO TO L13000 ; 00133900
|
|
COMMENT "B" CARD 8888 IF(RESID*(-YES)+(-RESID)*YES)13000,80001,13000; 00134000
|
|
COMMENT READ INXPLT CARD; 00134100
|
|
L75: READ (TAPE,FL8032,LIST27)[FINIS]; 00134200
|
|
IF JWMAN = JDXPLTS THEN GO TO L76 ELSE 00134300
|
|
BEGIN ERRORIDENT ~ 3; GO TO L9011 END; 00134400
|
|
COMMENT "B" CARD IF(WMAN*(-DXPLTS)+(-WMAN)*DXPLTS) 9011,76,9011; 00134500
|
|
L76: 00134600
|
|
JK~1; 00134700
|
|
DO BEGIN 00134800
|
|
IF (SVIVPT[JK]>JIP) THEN 00134900
|
|
BEGIN 00135000
|
|
ERRORIDENT ~ 3; REGRESSCHECK ~ 4; GO TO L9011 END; 00135100
|
|
END UNTIL (JK~(JK+1))>JNVIP; 00135200
|
|
L80001: 00135300
|
|
JJ~1; 00135400
|
|
DO BEGIN 00135500
|
|
SVXMIN[(K~(JJ)).[33:6],K.[39:9]]~999999.9; 00135600
|
|
SVXMAX[(K~(JJ+80)).[33:6],K.[39:9]]~-999999.9; 00135700
|
|
END UNTIL (JJ~(JJ+1))>JNVIP; 00135800
|
|
JRMIN~999999.9; 00135900
|
|
JRMAX~-999999.9; 00136000
|
|
COMMENT COMPUTE RESIDUALS; 00136100
|
|
JLLLL~0; 00136200
|
|
JLLLLL~JLLLL; 00136300
|
|
JI~1; 00136400
|
|
DO BEGIN 00136500
|
|
JJ~1; 00136600
|
|
READ (TAPE2,OKTL,FOR DX1 ~ 1 STEP 1 UNTIL JIP DO SVX[DX1]); 00136700
|
|
COMMENT NEXT WRITE FOR DIAGNOSIS OF DISK FILE TROUBLE 00136800
|
|
WRITE(PRINT,FLL600,FOR DX1~1 STEP 1 UNTIL JIP DO[DX1,SVX[DX1]] 00136900
|
|
); 00137000
|
|
JSUMB~0; 00137100
|
|
JNVI~0; 00137200
|
|
JJ~1; 00137300
|
|
DO BEGIN 00137400
|
|
IF (SVC[JJ])>0 THEN GO TO L25000; 00137500
|
|
JNVI~JNVI+1; 00137600
|
|
JSUMB~JSUMB+SVB[JNVI]|SVX[JJ]; 00137700
|
|
L25000: END UNTIL (JJ~(JJ+1))>JIP; 00137800
|
|
JL~1; 00137900
|
|
DO BEGIN 00138000
|
|
JMM~SVIVPT[JL]; 00138100
|
|
IF (SVXMIN[(K~(JL)).[33:6],K.[39:9]]{SVX[JMM]) THEN GO TO L81; 00138200
|
|
SVXMIN[(K~(JL)).[33:6],K.[39:9]]~SVX[JMM]; 00138300
|
|
L81: IF (SVXMAX[(K~(JL+80)).[33:6],K.[39:9]]}SVX[JMM]) THEN GO TO 00138400
|
|
L20200; 00138500
|
|
SVXMAX[(K~(JL+80)).[33:6],K.[39:9]]~SVX[JMM]; 00138600
|
|
L20200: END UNTIL (JL~(JL+1))>JNVIP; 00138700
|
|
SVRES[(K~(JI)).[34:5],K.[39:9]]~SVX[JKDEP]-JALPHA-JSUMB; 00138800
|
|
COMMENT NEXT STATEMENT FOR DIAGNOSIS IF DEPENDENT VARIABLES ARE EQUAL 00138900
|
|
IF REGRESSCHECK = SVX[JKDEP] THEN 00139000
|
|
WRITE(PRINT,OUTT,REGRESSCHECK,SVX[JKDEP]); 00139100
|
|
REGRESSCHECK ~ SVX[JKDEP]; 00139200
|
|
PREDIC[JI]~JALPHA+JSUMB; 00139300
|
|
COMMENT DIAGNOSING TROUBLE WITH RESIDUAL TABLE 00139400
|
|
WRITE(PRINT,FLL9904,JI,SVRES[K.[34:5],K.[39:9]],SVX[JKDEP],JALPHA 00139500
|
|
,JSUMB); 00139600
|
|
IF (JRMIN{SVRES[(K~(JI)).[34:5],K.[39:9]]) THEN GO TO L78; 00139700
|
|
JRMIN~SVRES[(K~(JI)).[34:5],K.[39:9]]; 00139800
|
|
L78: IF (JRMAX}SVRES[(K~(JI)).[34:5],K.[39:9]]) THEN GO TO L24000; 00139900
|
|
JRMAX~SVRES[(K~(JI)).[34:5],K.[39:9]]; 00140000
|
|
L24000: END UNTIL (JI~(JI+1))>JN; 00140100
|
|
REWIND(TAPE2); 00140200
|
|
IF JRESID = JYES THEN GO TO L90 ELSE GO TO L73 ; 00140300
|
|
COMMENT "B" CARD IF (RESID*(-YES)+(-RESID)*YES) 73,90,73; 00140400
|
|
L90: 00140500
|
|
WRITE ( PRINT[PAGE]) ; 00140600
|
|
WRITE(PRINT,FL8031); 00140700
|
|
IF (JN>48) THEN GO TO L72; %P11/68 00140800
|
|
WRITE(PRINT,FL9902) ; 00140900
|
|
JI~1; 00141000
|
|
DO BEGIN 00141100
|
|
READ(TAPE2,OKTL,FOR DX1~1 STEP 1 UNTIL JIP DO SVX[DX1]); 00141200
|
|
WRITE (PRINT,FL9904, LIST30 ) ; 00141300
|
|
END UNTIL (JI~(JI+1))>JN; 00141400
|
|
REWIND(TAPE2); 00141500
|
|
GO TO L73; 00141600
|
|
L72: JIJK~5; 00141700
|
|
WRITE (PRINT,FL9901 ) ; 00141800
|
|
JNO~(JN DIV 5)+1; 00141900
|
|
SVNN[1]~1; 00142000
|
|
JI~2; 00142100
|
|
DO BEGIN 00142200
|
|
SVNN[JI]~((JI-1)|JNO)+1 END UNTIL (JI~(JI+1))>5; 00142300
|
|
JLJK~0; 00142400
|
|
JI~1; 00142500
|
|
DO BEGIN 00142600
|
|
JLJK~JLJK+1; 00142700
|
|
IF (SVNN[5]{JN) THEN GO TO L74; 00142800
|
|
JIJK~4; 00142900
|
|
L74: JJ~1; 00143000
|
|
DO BEGIN 00143100
|
|
JK~JLJK+((JJ-1)|JNO); 00143200
|
|
SVBES[JJ]~SVRES[(K~(JK)).[34:5],K.[39:9]]; 00143300
|
|
END UNTIL (JJ~(JJ+1))>JIJK; 00143400
|
|
WRITE (PRINT,FL9903, LIST31 ) ; 00143500
|
|
JJ~1; 00143600
|
|
DO BEGIN 00143700
|
|
SVNN[JJ]~SVNN[JJ]+1 END UNTIL (JJ~(JJ+1))>5; 00143800
|
|
END UNTIL (JI~(JI+5))>JN; 00143900
|
|
L73: JSRS~((JRMAX-JRMIN)/49); 00144000
|
|
JI~1; 00144100
|
|
DO BEGIN 00144200
|
|
JAI~1+5|(JI-1); 00144300
|
|
SVCOL[JI]~JRMIN+JSRS|(JAI-1); 00144400
|
|
END UNTIL (JI~(JI+1))>11; 00144500
|
|
JIIX~0; 00144600
|
|
IF JNVIP{0 THEN GO TO L13000; 00144700
|
|
BEGIN 00144800
|
|
REAL ERSATZ ; 00144900
|
|
FORMAT ZERO ("XMAX = XMIN"); 00145000
|
|
LABEL L8888,L118,L98,L99,L102,L101,L104,L20500,L20600,L61001, 00145100
|
|
L61000,L76000,L109,L20700,L9950,L9960,L110,L116,L111, 00145200
|
|
L9961,L9613,L9614,L9615,L9401,L9402,L9403,L82,L83, 00145300
|
|
L85,L84,L9951,L9952,L86,L112,L87,L88,L91,L89,L20900, 00145400
|
|
L9953,L9954,L93,L94,L9552,L9551,L95,L96,L9661,L9662, 00145500
|
|
L20800,L9956,L9955,L113,L114,L20401,L20400 ; 00145600
|
|
FORMAT FL9902(20A6),FL5775(20A6),FL5776(20A6) ; 00145700
|
|
JI~1; 00145800
|
|
DO BEGIN 00145900
|
|
JII~SVIVPT[JI]; 00146000
|
|
IF (JI+1{JNVIP) THEN GO TO L98; 00146100
|
|
JKKK~1; 00146200
|
|
GO TO L99; 00146300
|
|
L98: JKKK~1; 00146400
|
|
00146500
|
|
JJJ~SVIVPT[JI+1]; 00146600
|
|
00146700
|
|
JJ1~JI+1; 00146800
|
|
L99: JSPI~((SVXMAX[(K~(JI+80)).[33:6],K.[39:9]]-SVXMIN[(K~(JI)). 00146900
|
|
[33:6],K.[39:9]])/49); 00147000
|
|
IF JSPI = 0 THEN 00147100
|
|
BEGIN 00147200
|
|
WRITE (PRINT,ZERO); 00147300
|
|
JSPI ~ 1 | @-4 00147400
|
|
END; 00147500
|
|
IF (JKKK{1) THEN GO TO L101; 00147600
|
|
JSQI~((SVXMAX[(K~(JJ1+80)).[33:6],K.[39:9]]-SVXMIN[(K~(JJ1)).[33:6],00147700
|
|
K.[39:9]])/49); 00147800
|
|
L101: JJ~1; 00147900
|
|
DO BEGIN 00148000
|
|
JAJ~1+5|(JJ-1); 00148100
|
|
SVPINT[JJ]~SVXMIN[(K~(JI)).[33:6],K.[39:9]]+JSPI|(JAJ-1); 00148200
|
|
IF (JKKK{1) THEN GO TO L20500; 00148300
|
|
SVQINT[JJ]~SVXMIN[(K~(JJ1)).[33:6],K.[39:9]]+JSQI|(JAJ-1); 00148400
|
|
L20500: END UNTIL (JJ~(JJ+1))>11; 00148500
|
|
JK~1; 00148600
|
|
DO BEGIN 00148700
|
|
JJ~1; 00148800
|
|
DO BEGIN 00148900
|
|
SVKP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]~INT(JIIX); 00149000
|
|
SVIQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]~INT(JIIX); 00149100
|
|
END UNTIL (JJ~(JJ+1))>50 END UNTIL (JK~(JK+1))>50; 00149200
|
|
BEGIN 00149300
|
|
REAL ERSATZ ; 00149400
|
|
LABEL L61001,L61000,L76000,L109,L20700 ; 00149500
|
|
ERSATZ ~ 1.0 ; 00149600
|
|
JLLL~JN|JIP; 00149700
|
|
JLLLL~0; 00149800
|
|
JLLLLL~JLLLL; 00149900
|
|
JJ~1; 00150000
|
|
DO BEGIN 00150100
|
|
JJJJJJ~1; 00150200
|
|
READ (TAPE2,OKTL,FOR DX1 ~ 1 STEP 1 UNTIL JIP DO SVX[DX1]); 00150300
|
|
COMMENT THE NEXT WRITE IS FOR DIAGNOSING DISK FILE HANDLING PROBLEMS. 00150400
|
|
WRITE(PRINT,FLL600,FOR DX1~1 STEP 1 UNTIL JIP DO[DX1,SVX[DX1]] 00150500
|
|
); 00150600
|
|
JIR~ENTIER (((SVX[JII]-SVXMIN[(K~(JI)).[33:6],K.[39:9]])/JSPI)+1.5); 00150700
|
|
JIRES ~ 00150800
|
|
ENTIER(((SVRES[(K~(JJ)).[34:5],K.[39:9]]-JRMIN)/JSRS)+1.5) ; 00150900
|
|
SVKP[(K~(50|JIR+JIRES-50)).[36:3],K.[39:9]]~INT(SVKP[(K~(50| 00151000
|
|
JIR+JIRES-50)).[36:3],K.[39:9]]+1.1 ) ; 00151100
|
|
IF (JKKK{1) THEN GO TO L20700; 00151200
|
|
JJQ~((SVX[JJJ]-SVXMIN[(K~(JJ1)).[33:6],K.[39:9]])/JSQI)+1.5; 00151300
|
|
SVIQ[(K~(50|JJQ+JIRES-50)).[36:3],K.[39:9]]~INT(SVIQ[(K~(50| 00151400
|
|
JJQ+JIRES-50)).[36:3],K.[39:9]]+1); 00151500
|
|
L20700: END UNTIL (JJ~(JJ+1))>JN; 00151600
|
|
END; 00151700
|
|
REWIND(TAPE2); 00151800
|
|
WRITE(PRINT[PAGE]) ; 00151900
|
|
WRITE(PRINT,FL9950,LIST35) ; 00152000
|
|
L111: JXX~(+" "); 00152100
|
|
JXY~(+"*"); 00152200
|
|
WRITE(PRINT,FL9961); 00152300
|
|
WRITE(PRINT,FL9955,LIST37) ; 00152400
|
|
JMNMN~51; 00152500
|
|
L9403: WRITE(PRINT,FL9956,LIST39) ; 00152600
|
|
JKLN~0; 00152700
|
|
JKLM~5; 00152800
|
|
JK~1; 00152900
|
|
DO BEGIN 00153000
|
|
JJ~1; 00153100
|
|
DO BEGIN 00153200
|
|
IF (SVKP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]])>0 THEN GO TO L83; 00153300
|
|
SVP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]~JXX; 00153400
|
|
GO TO L86; 00153500
|
|
L83: IF (SVKP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]<10) THEN GO TO 00153600
|
|
L84; 00153700
|
|
SVP[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]~JXY; 00153800
|
|
GO TO L86; 00153900
|
|
L84: K ~ 50 | JJ + JK - 50 ; 00154000
|
|
SVP[K.[36:3],K.[39:9]] ~ SVKP[K.[36:3],K.[39:9]] ; 00154100
|
|
L86: IF (JKKK{1) THEN GO TO L20900; 00154200
|
|
IF (SVIQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]])>0 THEN GO TO L88; 00154300
|
|
SVQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]~JXX; 00154400
|
|
GO TO L20900; 00154500
|
|
L88: IF (SVIQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]<10) THEN GO TO 00154600
|
|
L89; 00154700
|
|
SVQ[(K~(50|JJ+JK-50)).[36:3],K.[39:9]]~JXY; 00154800
|
|
GO TO L20900; 00154900
|
|
L89: K ~ 50 | JJ + JK - 50 ; 00155000
|
|
SVQ[K.[36:3],K.[39:9]] ~ SVIQ[K.[36:3],K.[39:9]] ; 00155100
|
|
L20900: END UNTIL (JJ~(JJ+1))>50; 00155200
|
|
JKLM~JKLM-1; 00155300
|
|
IF (JKLM}4) THEN GO TO L94; 00155400
|
|
IF JKLM>0 THEN GO TO L96 ELSE GO TO L95; 00155500
|
|
L94: JKLN~JKLN+1; 00155600
|
|
IF (JKKK{1) THEN GO TO L9551; 00155700
|
|
WRITE(PRINT,FL9953,LIST44) ; 00155800
|
|
GO TO L20800; 00155900
|
|
L9551: WRITE(PRINT,FL9953,LIST45) ; 00156000
|
|
GO TO L20800; 00156100
|
|
L95: JKLM~5; 00156200
|
|
L96: IF (JKKK>1) THEN GO TO L9662; 00156300
|
|
WRITE (PRINT,FL9954,LIST46 ) ; 00156400
|
|
GO TO L20800; 00156500
|
|
L9662: WRITE( PRINT,FL9954,LIST47 ) ; 00156600
|
|
L20800: END UNTIL (JK~(JK+1))>50; 00156700
|
|
WRITE(PRINT,FL9956,LIST39 ) ; 00156800
|
|
IF (JKKK>1) THEN GO TO L114; 00156900
|
|
WRITE (PRINT,FL9955,LIST37 ) ; 00157000
|
|
GO TO L20401; 00157100
|
|
L114: WRITE(PRINT,FL9955,LIST38 ) ; 00157200
|
|
L20401: REWIND(TAPE2); 00157300
|
|
END UNTIL (JI~(JI+1))>JNVIP; 00157400
|
|
ERSATZ ~ 0.0 ; 00157500
|
|
END; 00157600
|
|
L13000: END UNTIL (JM~(JM+1))>JNSPC; 00157700
|
|
GO TO NEXTPROB; 00157800
|
|
L9001: 00157900
|
|
WRITE(PRINT,FL8020); 00158000
|
|
L9999: WRITE(PRINT,FL8021); 00158100
|
|
JI~1; 00158200
|
|
DO BEGIN 00158300
|
|
IF (SVNUSE[JI]){0 THEN GO TO L22100; 00158400
|
|
COMMENT A REWIND STATEMENT HAS BEEN REMOVED HERE ; 00158500
|
|
L22100: END UNTIL (JI~(JI+1))>4; 00158600
|
|
JI~7; 00158700
|
|
DO BEGIN 00158800
|
|
IF (SVNUSE[JI]){0 THEN GO TO L22200; 00158900
|
|
COMMENT SUBROUTINE REMOVE WAS CALLED FOR AT THIS POINT ; 00159000
|
|
L22200: END UNTIL (JI~(JI+1))>20; 00159100
|
|
GO TO FINIS; 00159200
|
|
L9002: 00159300
|
|
WRITE(PRINT,FL8022); 00159400
|
|
GO TO L9999; 00159500
|
|
L9003: WRITE(PRINT,FL8023); 00159600
|
|
GO TO L9999; 00159700
|
|
L9004: WRITE(PRINT,FL8024); 00159800
|
|
WRITE(PRINT,SW[ERRORIDENT], SL[ERRORIDENT]); 00159900
|
|
IF REGRESSCHECK = 3 THEN 00160000
|
|
WRITE(PRINT,F1,JNVIP); 00160100
|
|
IF REGRESSCHECK = 4 THEN 00160200
|
|
WRITE(PRINT,F2,SVIVPT[JK],JIP); 00160300
|
|
WRITE(LINE[DBL]); 00160400
|
|
GO TO L9999; 00160500
|
|
L9006: 00160600
|
|
WRITE(PRINT,FL8026); 00160700
|
|
GO TO L9004; 00160800
|
|
L9009: WRITE(PRINT,FL8029); 00160900
|
|
GO TO L9004; 00161000
|
|
L9010: 00161100
|
|
GO TO L9004; 00161200
|
|
WRITE(PRINT,FL8030); 00161300
|
|
L9011: WRITE(PRINT,FL8033); 00161400
|
|
GO TO L9004; 00161500
|
|
DATAERROR: WHEN(1); WRITE(PRINT,F3); GO TO FINIS; 00161600
|
|
END END; 00161700
|
|
COMMENT ************************** OUTER BLOCK ************; 00161800
|
|
PAGEIT~FALSE; 00161900
|
|
NEXTPROB: 00162000
|
|
READ(TAPE[NO],FSETUP,JN2,JN1,JNVA,FRFIELD); 00162100
|
|
BB ~ 2 | (JN1 + JNVA); 00162200
|
|
XPR~Q~K~0; 00162300
|
|
SENSL[1]~FALSE; 00162400
|
|
SENSL[2]~FALSE; 00162500
|
|
SENSL[3]~FALSE; 00162600
|
|
SENSL[4]~FALSE; 00162700
|
|
MAINPRO; FINIS: 00162800
|
|
END OF OUTER BLK. 00162900
|
|
LAST CARD ON CRDIMG TAPE 99999999
|