1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-03 17:56:13 +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

717 lines
57 KiB
Fortran

FILE 5 = CARD, UNIT = READER, RECORD = 10, BUFFER = 2 00000100
FILE 6 = LPA, UNIT = PRINTER, RECORD = 15, BUFFER = 2 00000200
CTPWD SUBROUTINE TPWD FOR BMD05R VERSION OF SEPT. 26, 1963 00000300
SUBROUTINE TPWD(NT1,NT2) 00000400
IF(NT1)40,10,12 00000500
10 NT1=5 00000600
12 IF(NT1-NT2)14,19,14 00000700
14 IF(NT2-5)15,19,17 00000800
15 REWIND NT2 00000900
GO TO 19 00001000
17 00001100
17 CONTINUE 00001110
C 17 CALL REMOVE(NT2) 00001200
19 IF(NT1-5)18,24,18 00001300
18 IF(NT1-6)22,40,22 00001400
22 REWIND NT1 00001500
24 NT2=NT1 00001600
28 RETURN 00001700
40 WRITE (6,49) 00001800
CALL EXIT 00001900
49 FORMAT(25H ERROR ON TAPE ASSIGNMENT) 00002000
END 00002100
CVFCHCK SUBROUTINE TO CHECK FOR PROPER NUMBER OF VARIABLE FORMAT CRDS00002200
SUBROUTINE VFCHCK(NVF) 00002300
IF(NVF)10,10,20 00002400
10 WRITE (6,4000) 00002500
NVF=1 00002600
50 RETURN 00002700
C 00002800
20 IF(NVF-5)50,50,10 00002900
C 00003000
4000 FORMAT(1H023X71HNUMBER OF VARIABLE FORMAT CARDS INCORRECTLY SPECIF00003100
XIED, ASSUMED TO BE 1.) 00003200
END 00003300
CMATINV SUBROUTINE FOR BMD05R 10/3/63 00003400
SUBROUTINE MATINV(A,N,B,D,T) 00003500
DIMENSION A(11,11),B(10),U(10) 00003600
DIMENSION IND(10),C(10) 00003700
T=1.0 00003800
DO 50 I=1,N 00003900
IND(I)=0 00004000
50 C(I)=A(I,I) 00004100
D=1. 00004200
DO 8 L=1,N 00004300
X=0. 00004400
DO 4 I=1,N 00004500
IF(IND(I))4,2,4 00004600
2 IF(X-A(I,I)/C(I))3,4,4 00004700
3 K=I 00004800
X=A(I,I)/C(I) 00004900
4 CONTINUE 00005000
T=AMIN1(T,X) 00005100
11 IND(K)=1 00005200
DO 5 I=K,N 00005300
U(I)=A(I,K) 00005400
5 A(I,K)=0. 00005500
Y=U(K) 00005600
D=D*Y 00005700
DO 6 I=1,K 00005800
U(I)=A(K,I) 00005900
6 A(K,I)=0. 00006000
V=B(K) 00006100
B(K)=0. 00006200
U(K)=1. 00006300
DO 8 I=1,N 00006400
DO 7 J=1,I 00006500
7 A(I,J)=A(I,J)-U(I)*U(J)/Y 00006600
8 B(I)=B(I)-U(I)*V/Y 00006700
RETURN 00006800
END 00006900
CTRNGEN SUBROUTINE TRNGEN FOR BMD05R MAY 12, 1964 00007000
SUBROUTINE TRNGEN(N,NT,M,X,LCODE,CONST) 00007100
ASNF(X)=ATAN (X/SQRT (1.0-X**2)) 00007200
DIMENSION X(500,11),LCODE(8),CONST(8) 00007300
4 DO 210 I=1,M 00007400
FM=CONST(I) 00007500
JUMP=LCODE(I) 00007600
DO 8 J=1,N 00007700
D=X(J,NT) 00007800
GO TO(10,20,30,40,50,60,70,80,90,110),JUMP 00007900
10 IF(D)99,11,12 00008000
11 X(J,NT)=0.0 00008100
GO TO 8 00008200
12 X(J,NT)=SQRT (D) 00008300
GO TO 8 00008400
20 IF(D)99,21,22 00008500
21 X(J,NT)=1.0 00008600
GO TO 8 00008700
22 X(J,NT)=SQRT (D)+SQRT (D+1.0) 00008800
GO TO 8 00008900
30 IF(D)99,99,31 00009000
31 X(J,NT)=ALOG10(D) 00009100
GO TO 8 00009200
40 X(J,NT)=EXP (D) 00009300
GO TO 8 00009400
50 IF(D)99,51,52 00009500
51 X(J,NT)=0.0 00009600
GO TO 8 00009700
52 IF(D-1.0)53,54,99 00009800
54 X(J,NT)=3.14159265/2.0 00009900
GO TO 8 00010000
53 A=SQRT (D) 00010100
X(J,NT)=ASNF(A) 00010200
GO TO 8 00010300
60 SAMP=N 00010400
A=D/(SAMP+1.0) 00010500
B=A+1.0/(SAMP+1.0) 00010600
IF(A)99,61,62 00010700
61 IF(B)99,63,64 00010800
63 X(J,NT)=0.0 00010900
GO TO 8 00011000
64 X(J,NT)=ASNF(SQRT (B)) 00011100
GO TO 8 00011200
62 IF(B)99,65,66 00011300
65 X(J,NT)=ASNF(SQRT (A)) 00011400
GO TO 8 00011500
66 X(J,NT)=ASNF(SQRT (A))+ASNF(SQRT (B)) 00011600
GO TO 8 00011700
70 IF(D)71,99,71 00011800
71 X(J,NT)=1.0/D 00011900
GO TO 8 00012000
80 X(J,NT)=D+FM 00012100
GO TO 8 00012200
90 X(J,NT)=D*FM 00012300
GO TO 8 00012400
110 IF(D)111,112,111 00012500
112 X(J,NT)=0.0 00012600
GO TO 8 00012700
111 X(J,NT)=D**FM 00012800
8 CONTINUE 00012900
210 CONTINUE 00013000
1000 RETURN 00013100
99 WRITE (6,105)J,JUMP 00013200
GO TO 8 00013300
105 FORMAT(18H0THE VALUE OF CASEI4,83H OF THE DEPENDENT VARIABLE VIOLA00013400
1TED THE RESTRICTION FOR TRANSGENERATION OF THE TYPE, I3,1H./52H TH00013500
2E PROGRAM CONTINUED LEAVING THIS VALUE UNCHANGED.) 00013600
END 00013700
CREPORT SUBROUTINE FOR BMD05R 10/3/63 00013800
SUBROUTINE REPORT (SSAR,SSDR,N1,N,NPP) 00013900
DIMENSION XY(51,101),SS(10) 00014000
COMMON XR,YR,XMAX,YMAX,XY,NCC,JX,XIJ,TC,TP,JY,YIJ,YMIN,IC, 00014100
1 N2,NN, SSDRM,TOTAL,SS 00014200
IF(N1-100) 10, 30, 30 00014300
10 NN=N-1 00014400
N2=NN-N1 00014500
D1=N1 00014600
D2=N2 00014700
SSARM=SSAR/D1 00014800
SSDRM=SSDR/D2 00014900
F=SSARM/SSDRM 00015000
TOTAL=SSAR+SSDR 00015100
IF(N1-1) 15, 15, 20 00015200
15 WRITE (6, 900) 00015300
GO TO 21 00015400
20 WRITE (6, 901) N1 00015500
21 WRITE (6, 902) 00015600
WRITE (6, 903) 00015700
WRITE (6, 904) N1,SSAR,SSARM,F 00015800
WRITE (6, 905) N2,SSDR,SSDRM 00015900
WRITE (6, 906) NN, TOTAL 00016000
NPP=NPP+1 00016100
SS(NPP)=SSAR 00016200
GO TO 70 00016300
30 N1=1 00016400
WRITE (6, 907) NPP 00016500
WRITE (6, 921) 00016600
WRITE (6, 922) 00016700
DO 60 I=1,NPP 00016800
GO TO (31,32,33,34,35,36,37,38,39,40), I 00016900
31 WRITE (6, 911) N1,SS(1),SS(1) 00017000
GO TO 60 00017100
32 SSAR=SS(2)-SS(1) 00017200
IF(SSAR) 41, 42, 42 00017300
41 SSAR=0.0 00017400
42 WRITE (6, 912) N1,SSAR,SSAR 00017500
GO TO 60 00017600
33 SSAR=SS(3)-SS(2) 00017700
IF(SSAR) 43, 44, 44 00017800
43 SSAR=0.0 00017900
44 WRITE (6, 913) N1,SSAR,SSAR 00018000
GO TO 60 00018100
34 SSAR=SS(4)-SS(3) 00018200
IF(SSAR) 45, 46, 46 00018300
45 SSAR=0.0 00018400
46 WRITE (6, 914) N1,SSAR,SSAR 00018500
GO TO 60 00018600
35 SSAR=SS(5)-SS(4) 00018700
IF(SSAR) 47, 48, 48 00018800
47 SSAR=0.0 00018900
48 WRITE (6, 915) N1,SSAR,SSAR 00019000
GO TO 60 00019100
36 SSAR=SS(6)-SS(5) 00019200
IF(SSAR) 49, 50, 50 00019300
49 SSAR=0.0 00019400
50 WRITE (6, 916) N1,SSAR,SSAR 00019500
GO TO 60 00019600
37 SSAR=SS(7)-SS(6) 00019700
IF(SSAR) 52, 53, 53 00019800
52 SSAR=0.0 00019900
53 WRITE (6, 917) N1,SSAR,SSAR 00020000
GO TO 60 00020100
38 SSAR=SS(8)-SS(7) 00020200
IF(SSAR) 54, 55, 55 00020300
54 SSAR=0.0 00020400
55 WRITE (6, 918) N1,SSAR,SSAR 00020500
GO TO 60 00020600
39 SSAR=SS(9)-SS(8) 00020700
IF(SSAR) 56, 57, 57 00020800
56 SSAR=0.0 00020900
57 WRITE (6, 919) N1,SSAR,SSAR 00021000
GO TO 60 00021100
40 SSAR=SS(10)-SS(9) 00021200
IF(SSAR) 58, 59, 59 00021300
58 SSAR=0.0 00021400
59 WRITE (6, 920) N1,SSAR,SSAR 00021500
60 CONTINUE 00021600
WRITE (6, 905) N2,SSDR,SSDRM 00021700
WRITE (6, 906) NN,TOTAL 00021800
900 FORMAT(65H0 ANALYSIS OF VARIANCE FOR SIMPLE LINEAR R00021900
1EGRESSION) 00022000
901 FORMAT(41H0 ANALYSIS OF VARIANCE FOR I4, 19H DEGRE00022100
1E POLYNOMIAL) 00022200
902 FORMAT(85H0 SOURCE OF VARIATION DEGREE OF S00022300
1UM OF MEAN F) 00022400
903 FORMAT(87H FREEDOM S00022500
1QUARES SQUARE VALUE) 00022600
904 FORMAT(37H0DUE TO REGRESSION............. I6,F19.5,2F14.5) 00022700
905 FORMAT(37H DEVIATION ABOUT REGRESSION.... I6,F19.5,F14.5) 00022800
906 FORMAT(37H TOTAL.... I6,F19.5///) 00022900
907 FORMAT(45H0 FINAL ANALYSIS OF VARIANCE FOR I4, 19H D00023000
1EGREE POLYNOMIAL) 00023100
911 FORMAT(37H0LINEAR TERM................... I6,F19.5,F14.5) 00023200
912 FORMAT(37H QUADRATIC TERM................ I6,F19.5,F14.5) 00023300
913 FORMAT(37H CUBIC TERM.................... I6,F19.5,F14.5) 00023400
914 FORMAT(37H QUARTIC TERM.................. I6,F19.5,F14.5) 00023500
915 FORMAT(37H QUINTIC TERM.................. I6,F19.5,F14.5) 00023600
916 FORMAT(37H SEXTIC TERM................... I6,F19.5,F14.5) 00023700
917 FORMAT(37H 7TH DEGREE TERM............... I6,F19.5,F14.5) 00023800
918 FORMAT(37H 8TH DEGREE TERM............... I6,F19.5,F14.5) 00023900
919 FORMAT(37H 9TH DEGREE TERM............... I6,F19.5,F14.5) 00024000
920 FORMAT(37H 10TH DEGREE TERM.............. I6,F19.5,F14.5) 00024100
921 FORMAT(74H0 SOURCE OF VARIATION DEGREE OF S00024200
1UM OF MEAN) 00024300
922 FORMAT(75H FREEDOM S00024400
1QUARES SQUARE) 00024500
70 RETURN 00024600
END 00024700
CSCALE SUBROUTINE SCALE FOR SUB PLOTR JULY 20, 1964 00024800
SUBROUTINE SCALE(YMIN,YMAX,YINT,JY,TYMIN,TYMAX,YIJ,YRMA) 00024900
DIMENSION C(10) 00025000
C(1)= 1.0 00025100
C(2)=1.5 00025200
C(3)=2.0 00025300
C(4)=3.0 00025400
C(5)=4.0 00025500
C(6)=5.0 00025600
C(7)=7.5 00025700
C(8)=10.0 00025800
C TEST=154400000000 00025900
50 YR=YMAX-YMIN 00026000
TT=YR/YINT 00026100
J=ALOG10(TT) 00026200
E=10.0**J 00026300
TT=TT/E 00026400
I=0 00026500
IF(TT-1.0)205,201,201 00026600
205 TT=TT*10.0 00026700
E=E/10.0 00026800
201 I=I+1 00026900
IF(8-I)1,2,2 00027000
1 E=E*10.0 00027100
I=1 00027200
2 T3=TT-C(I) 00027300
IF (T3.GT. .000001 .OR. T3.LT.-.000001) GO TO 252 00027400
TT=INT(TT*1000000)/1000000 00027500
252 IF(TT-C(I))233,202,201 00027600
233 YIJ=C(I)*E 00027700
GO TO 203 00027800
202 Y=YMIN/C(I) 00027900
J=Y 00028000
T=J 00028100
C IF(0.0001-ABS (T-Y))204,233,233 00028200
GO TO 233 00028300
204 YIJ=C(I+1)*E 00028400
203 X=((YMAX+YMIN)/YIJ-YINT )/2.0+.00001 00028500
K=X 00028600
IF(K)235,240,240 00028700
235 Y=K 00028800
IF(X-Y)236,240,236 00028900
236 K=K-1 00029000
240 TYMIN=K 00029100
TYMIN=YIJ*TYMIN 00029200
TYMAX=TYMIN+YINT*YIJ 00029300
TEST=YINT*(YIJ/10.0) 00029400
IF(YRMA-TYMAX-TEST)10,10,201 00029500
10 TT=YINT/10. 00029600
JY=TT+.000001 00029700
YIJ=TEST 00029800
J=TYMIN/ YIJ 00029900
IF (K)242,241,241 00030000
242 J=J-1 00030100
241 J=J*JY+JY-K 00030200
JY=J 00030300
RETURN 00030400
END 00030500
CPLOTR SUBROUTINE PLOTR JULY 20, 1964 00030600
SUBROUTINE PLOTR(X,ZMIN,ZMAX,Y,SYM,WMIN,WMAX,NC,NP,YRMA,XRMA) 00030700
C 00030800
C PLOTR WAS MODIFIED THIS DATE TO GIVE NICER SCALES. 00030900
C 00031000
DIMENSION XY(51,101),Y(15),CLAB(12),XM(6),SYM(15),GF(10),F2T(10) 00031100
COMMON XR,YR,XMAX,YMAX,XY,NCC,JX,XIJ,TC,TP,JY,YIJ,YMIN,IC 00031200
C 00031300
100 FORMAT(1H 6X5(F12.3,8X),F12.3/17X,5(F12.3,8X)) 00031400
101 FORMAT(1H F12.3,1X,A1,101A1 ,A1) 00031500
102 FORMAT(1H 13X,A1,101A1,A1) 00031600
1000 FORMAT(1H 14X,101A1) 00031700
1001 FORMAT(15X,20(5H+....),1H+) 00031800
BLANKS=(+6H ) 00031900
BLANK=(+1H ) 00032000
C XM(1)=770000000000 00032100
C XM(2)=007700000000 00032200
C XM(3)=000077000000 00032300
C XM(4)=000000770000 00032400
C XM(5)=000000007700 00032500
C XM(6)=000000000077 00032600
GF(1)=(+6H1X ) 00032700
GF(2)=(+6H2X ) 00032800
GF(3)=(+6H3X ) 00032900
GF(4)=(+6H4X ) 00033000
GF(5)=(+6H5X ) 00033100
GF(6)=(+6H6X ) 00033200
GF(7)=(+6H7X ) 00033300
GF(8)=(+6H8X ) 00033400
GF(9)=(+6H9X ) 00033500
GF(10)=(+6H10X ) 00033600
F2T(1)=(+6H(17X ) 00033700
F2T(2)=BLANKS 00033800
F2T(3)=BLANKS 00033900
F2T(4)=(+6H4(F12.) 00034000
F2T(5)=(+6H3,8X),) 00034100
F2T(6)=(+6HF12.3 ) 00034200
F2T(7)=(+6H/7X ) 00034300
F2T(8)=BLANKS 00034400
F2T(9)=(+6H5(F12.) 00034500
F2T(10)=(+6H3,8X))) 00034600
IF(JY.EQ.0) GO TO 3002 00034700
IF (JY.LT.11 .AND. JY .GT. 0) GO TO 3000 00034800
JY=1 00034900
3000 F2T(3)=GF(JY) 00035000
F2T(8)=GF(JY) 00035100
3002 IF(NCC)48,50,48 00035200
50 KL=0 00035300
TC=(+1H.) 00035400
TP=(+1H+) 00035500
CALL SCALE(WMIN,WMAX,100.0,JY,YMIN,YMAX,YIJ,YRMA) 00035600
YR=YMAX-YMIN 00035700
230 J=JY 00035800
IF(J*(J-10))204,201,201 00035900
201 IF(KL)220,220,231 00036000
231 WRITE (6,1001) 00036100
IF(KL)250,250,220 00036200
220 CLAB(1)= YMIN 00036300
DO 222 I=2,11 00036400
222 CLAB(I)=CLAB(I-1)+YIJ 00036500
WRITE (6,100)(CLAB(I),I=1,11,2),(CLAB(J),J=2,10,2) 00036600
IF(KL)231,231,14 00036700
204 IF(J-5)205,221,207 00036800
207 J=J-5 00036900
205 JYT=5-J 00037000
221 CONTINUE 00037100
IF(KL)226,226,227 00037200
226 F2T(3)=GF(JY) 00037300
225 F2T(8)=GF(JY) 00037400
TT=JY 00037500
TT=TT*YIJ/10. 00037600
CLAB(1)= YMIN+TT 00037700
DO 223 I=2,10 00037800
223 CLAB(I)=CLAB(I-1) +YIJ 00037900
WRITE (6,F2T)(CLAB(I),I=2,10,2),(CLAB(J),J=1,9 ,2) 00038000
IF(KL)227,227,14 00038100
227 IF(JY-5)208,209,208 00038200
209 WRITE (6,1001) 00038300
IF(KL)250,250,226 00038400
208 WRITE (6,1000)(TC,I=1,J ),((TP,(TC,I=1,4)),K=1,19),TP,(00038500
1 TC,I=1,JYT) 00038600
IF(KL)250,250,226 00038700
250 CONTINUE 00038800
NCC=1 00038900
IC=0 00039000
IF(NP)80,11,11 00039100
DO 1 J=1,101 00039200
11 DO 1 I=1,51 00039300
1 XY(I,J)=BLANKS 00039400
CALL SCALE (ZMIN,ZMAX,50.,JX,XMIN,XMAX,XIJ,XRMA) 00039500
XR=XMAX-XMIN 00039600
48 IF(NC)52,13,49 00039700
49 IF(NP)80,10,10 00039800
10 DO 9 N=1,NC 00039900
SYMB=SYM(N) 00040000
XDIFFR=XMAX-X 00040100
IF(XDIFFR)105,106,106 00040200
105 XDIFFR=0.0 00040300
106 YDIFFR=YMAX-Y(N) 00040400
IF(YDIFFR)107,108,108 00040500
107 YDIFFR=0.0 00040600
108 L=51.-(50.*XDIFFR)/XR+.5 00040700
K=101.-(100.*YDIFFR)/YR+.5 00040800
C CALL FORM2(T,M,SYMB) 00040900
XY(L,K)=SYM(N) 00041000
9 CONTINUE 00041100
GO TO 15 00041200
80 DO 86 I=1,101 00041300
86 XY(1,I)=BLANKS 00041400
L=1 00041500
DO 95 N=1,NC 00041600
SYMB=SYM(N) 00041700
YDIFFR=YMAX-Y(N) 00041800
IF(YDIFFR)860,865,865 00041900
860 YDIFFR=0.0 00042000
865 K=101.-(100.*YDIFFR)/YR+.5 00042100
C CALL FORM2(T,M,SYMB) 00042200
IF (XY(L,K).EQ.BLANK) GO TO 3005 00042300
XY(L,K)=(+1HB) 00042400
GO TO 95 00042500
3005 XY(L,K)=SYM(N) 00042600
95 CONTINUE 00042700
IF(MOD (IC,5))97,96,97 00042800
96 W=TP 00042900
GO TO 98 00043000
97 W=TC 00043100
98 WRITE (6,101)X,W,(XY(1,N),N=1,101),W 00043200
IC=IC+1 00043300
GO TO 15 00043400
13 M=6-JX 00043500
LL=50+M 00043600
T=JX 00043700
IF(5-JX)131,131,135 00043800
131 T=0.0 00043900
135 RLAB=XMAX-(T*XIJ)/5.0 00044000
W=TC 00044100
K=52 00044200
DO 31 L=M,LL 00044300
K=K-1 00044400
I=MOD (L,5) 00044500
IF(I-1)2,3,2 00044600
3 W=TP 00044700
WRITE (6,101)RLAB,W,(XY(K,N),N=1,101),W 00044800
RLAB=RLAB-XIJ 00044900
W=TC 00045000
GO TO 31 00045100
2 WRITE (6,102)W,(XY(K,N),N=1,101),W 00045200
31 CONTINUE 00045300
52 KL=1 00045400
GO TO 230 00045500
14 NCC=0 00045600
15 RETURN 00045700
END 00045800
CGRAPH SUBROUTINE GRAPH FOR BMD05R AUGUST 16, 1965 00045900
SUBROUTINE GRAPH(XX,YY,A,B,N,NPP) 00046000
DIMENSION XX(500),YY(500),B(10),PP(500),FMT(104) 00046100
DIMENSION SYM(15),YYY(15) 00046200
DIMENSION XY(51,101) 00046300
COMMON XR,YR,XMAX,YMAX,XY,NCC,JX,XIJ,TC,TP,JY,YIJ,YMIN,IC 00046400
DO 10 I=1,N 00046500
SUM=0.0 00046600
AA=1.0 00046700
DO 5 J=1,NPP 00046800
AA=AA*XX(I) 00046900
5 SUM=SUM+B(J)*AA 00047000
PP(I)=SUM+A 00047100
10 CONTINUE 00047200
WRITE (6,100) 00047300
WRITE (6,101 ) 00047400
DO 15 I=1,N 00047500
DIFF=YY(I)-PP(I) 00047600
15 WRITE (6,102)I,XX(I),YY(I),PP(I),DIFF 00047700
SS=10.0**10 00047800
FF=-10.0**9 00047900
XS=SS 00048000
XL=FF 00048100
DO 300 I=1,N 00048200
XS=AMIN1(XS,XX(I)) 00048300
XL=AMAX1(XL,XX(I)) 00048400
SS=AMIN1(SS,YY(I),PP(I)) 00048500
300 FF=AMAX1(FF,YY(I),PP(I)) 00048600
WRITE (6,4000) 00048700
C MXY AND LYNN ARE DUMMY VARIABLES FOR SUBR SCALE. 00048800
CALL SCALE(SS,FF,100.,MXY,S1,F1,LYNN,FF) 00048900
4000 FORMAT(1H0//) 00049000
MXY=N 00049100
LYNN=0 00049200
303 IF(MXY-50) 301,302,302 00049300
301 LYNN=1 00049400
302 SYM(1)=(+1HO) 00049500
SYM(2)=(+1HP) 00049600
DO 50 I=1,N 00049700
X=XX(I) 00049800
YYY(1)=YY(I) 00049900
YYY(2)=PP(I) 00050000
CALL PLOTR(X ,XS,XL,YYY,SYM,SS,FF,2,-1,FF,XL) 00050100
IF(LYNN) 50,50,304 00050200
304 WRITE (6,307) 00050300
307 FORMAT(1H ) 00050400
50 CONTINUE 00050500
CALL PLOTR(X ,XS,XL,YYY,SYM,SS,FF,-1,-1,FF,XL) 00050600
WRITE (6,4001) 00050700
4001 FORMAT(12H0GRAPH CODES//13H O=OBSERVED Y/14H P=PREDICTED Y/21H B=O00050800
XBSERVED=PREDICTED//) 00050900
WRITE (6,218)S1,F1 00051000
100 FORMAT(1H15X,18HTABLE OF RESIDUALS) 00051100
101 FORMAT(/6H0 NO. 4X,7HX VALUE4X,7HY VALUE4X,11HY PREDICTED4X,8HRESI00051200
1DUAL//) 00051300
102 FORMAT(I5,F13.4,F11.4,2F13.4) 00051400
218 FORMAT(26H GRAPH SCALE EXTENDS FROM F10.4,4H TO F10.4) 00051500
RETURN 00051600
END 00051700
CID 0901HS 15 150 $BMD05R POLYNOMIAL REGRESSION 00051800
CBMD05R POLYNOMIAL REGRESSION AUGUST 16, 1965 00051900
DIMENSION X(500,11),SD(11,11),AV(11),B(10),RR(11,11) 00052000
DIMENSION SE(10),XX(500),YY(500),FMT(120),XXB(10),KODE(8),CONST(8)00052100
DIMENSION XY(51,101),SS(10) 00052200
COMMON XR,YR,XMAX,YMAX,XY,NCC,JX,XIJ,TC,TP,JY,YIJ,YMIN,IC, 00052300
1 N2,NN, SSDRM,TOTAL,SS 00052400
EQUIVALENCE (IA1,A1),(IA2,A2),(IA3,A3) 00052500
C 00052600
918 FORMAT(45H1BMD05R - POLYNOMIAL REGRESSION - VERSION OF , 00052700
1 15HAUGUST 16, 1965/ 00052800
X41H HEALTH SCIENCES COMPUTING FACILITY, UCLA//) 00052900
C 00053000
A1=(+6HPROBLM) 00053100
A2=(+6HFINISH) 00053200
A3=(+6HSPECTG) 00053300
NTAPE=5 00053400
5 READ ( 5,900)ISUM,PROB,N,NP,IPLOT,NVG,NACC,MTAPE,KVR 00053500
NPP=0 00053600
IF(ISUM-IA1)7,4,7 00053700
7 IF(ISUM-IA2)8,15,8 00053800
8 WRITE (6,919) 00053900
15 IF(6-NTAPE)16,17,17 00054000
16 00054100
16 CONTINUE 00054110
C16 CALL REMOVE(NTAPE) 00054200
17 CALL EXIT 00054300
4 CALL TPWD(MTAPE,NTAPE) 00054400
IF(NACC)748,748,749 00054500
748 NACC=13 00054600
749 TOL=10.0**(-NACC) 00054700
19 WRITE (6, 918) 00054800
WRITE (6, 902) PROB 00054900
WRITE (6, 903) N 00055000
IF(NP*(NP-11))200,8,8 00055100
200 IF((N-NP)*(N-501))205,8,8 00055200
205 IERROR=0 00055300
NT=NP+1 00055400
ONO=0.0 00055500
ON=N 00055600
ONO=ON 00055700
DO 721 I=1,500 00055800
X(I,NT)=0.0 00055900
721 X(I,1)=0.0 00056000
DO 20 I=1,NT 00056100
AV(I)=0.0 00056200
DO 20 J=1,NT 00056300
20 SD(I,J)=0.0 00056400
CALL VFCHCK(KVR) 00056500
KVR=KVR*12 00056600
READ (5,916)(FMT(I),I=1,KVR) 00056700
IF(-NVG)22,23,23 00056800
22 WRITE (6, 901) 00056900
READ (5,920)ISUM,M,(KODE(I),CONST(I),I=1,M) 00057000
IF(ISUM-IA3)210,220,210 00057100
210 WRITE (6, 921) 00057200
IERROR=-501 00057300
GO TO 23 00057400
220 DO 230 I=1,M 00057500
WRITE (6, 922)KODE(I),CONST(I) 00057600
IF(KODE(I)*(KODE(I)-11))230,225,225 00057700
225 WRITE (6, 923)KODE(I) 00057800
230 CONTINUE 00057900
23 READ (5 ,FMT)(X(I,1),X(I,NT),I=1,N) 00058000
IF(NTAPE-5)10,11,10 00058100
10 REWIND NTAPE 00058200
11 IF(NVG)25,25,24 00058300
24 CALL TRNGEN(N,NT,M,X,KODE,CONST) 00058400
IF(IERROR) 5, 25, 25 00058500
25 SUMY=0.0 00058600
SUMYY=0.0 00058700
SUMXY=0.0 00058800
SUMX=0.0 00058900
SUMXX=0.0 00059000
DO 27 I=1,N 00059100
YY(I)=X(I,NT) 00059200
XX(I)=X(I,1) 00059300
SUMX=SUMX+XX(I) 00059400
SUMY=SUMY+YY(I) 00059500
SUMXY=SUMXY+XX(I)*YY(I) 00059600
SUMXX=SUMXX+XX(I)*XX(I) 00059700
27 SUMYY=SUMYY+YY(I)*YY(I) 00059800
R=(SUMXY-SUMX*SUMY/ON)/SQRT ((SUMXX-SUMX*SUMX/ON)*(SUMYY-SUMY*SUMY00059900
1/ON)) 00060000
RRR=R*R 00060100
IF(NP-1)1010,1010,1212 00060200
1212 DO 30 J=2,NP 00060300
JJ=J-1 00060400
DO 30 I=1,N 00060500
30 X(I,J)=X(I,JJ)*X(I,1) 00060600
1010 DO 36 J=1,NT 00060700
DO 35 I=1,N 00060800
35 AV(J)=AV(J)+X(I,J) 00060900
36 AV(J)=AV(J)/ONO 00061000
DO 40 J=1,NT 00061100
DO 40 I=1,N 00061200
40 X(I,J)=X(I,J)-AV(J) 00061300
DO 46 J=1,NT 00061400
DO 46 K=J,NT 00061500
DO 45 I=1,N 00061600
45 SD(J,K)=SD(J,K)+(X(I,J)*X(I,K)) 00061700
46 SD(K,J)=SD(J,K) 00061800
B(1)=SD(1,NT)/SD(1,1) 00061900
A=AV(NT)-B(1)*AV(1) 00062000
SE(1)=SQRT ((SUMYY-A*SUMY-B(1)*SUMXY)/(SD(1,1)*(ON-2.0))) 00062100
WRITE (6, 904) 00062200
WRITE (6, 905) 00062300
WRITE (6, 906) AV(1) 00062400
WRITE (6, 907) AV(NT) 00062500
WRITE (6, 908) A 00062600
WRITE (6, 909) B(1) 00062700
WRITE (6, 910) SE(1) 00062800
WRITE (6,911)R 00062900
SSAR=RRR*SD(NT,NT) 00063000
SSDR=(1.0-RRR)*SD(NT,NT) 00063100
N1=1 00063200
CALL REPORT (SSAR,SSDR,N1,N,NPP) 00063300
GSSDR=SSDR 00063400
IF(NP-1)50,50,1414 00063500
50 XXB(1)=B(1) 00063600
AXX=A 00063700
NXX=1 00063800
GO TO 1313 00063900
1414 DO 73 IJ=2,NP 00064000
N1=IJ 00064100
DO 52 J=1,IJ 00064200
B(J)=SD(J,NT) 00064300
DO 52 I=1,IJ 00064400
52 RR(I,J)=SD(I,J) 00064500
CALL MATINV(RR,IJ,B,D,T) 00064600
IF(T-TOL)66,191,191 00064700
66 WRITE (6, 917) 00064800
SSDR=GSSDR 00064900
IF(NPP) 67, 67, 75 00065000
67 NPP=1 00065100
GO TO 75 00065200
191 DO 192 I=1,IJ 00065300
RR(I,I)=-RR(I,I) 00065400
192 B(I)=-B(I) 00065500
SSAR=0.0 00065600
DO 60 I=1,IJ 00065700
60 SSAR=SSAR+B(I)*SD(I,NT) 00065800
SSDR=SD(NT,NT)-SSAR 00065900
DF=IJ+1 00066000
VARI=SSDR/(ON-DF) 00066100
DO 62 J=1,IJ 00066200
SUMY=VARI*RR(J,J) 00066300
62 SE(J)=SQRT (SUMY) 00066400
SU=0.0 00066500
DO 64 I=1,IJ 00066600
64 SU=SU+B(I)*AV(I) 00066700
69 GSSDR=SSDR 00066800
A=AV(NT)-SU 00066900
WRITE (6, 912) N1 00067000
WRITE (6, 908) A 00067100
WRITE (6, 913) 00067200
WRITE (6, 915) (B(I), I=1,N1) 00067300
DO 70 I=1,N1 00067400
70 XXB(I)=B(I) 00067500
AXX=A 00067600
NXX=N1 00067700
WRITE (6, 914) 00067800
WRITE (6, 915) (SE(I), I=1,N1) 00067900
WRITE (6, 904) 00068000
73 CALL REPORT (SSAR,SSDR,N1,N,NPP) 00068100
75 N1=105 00068200
WRITE (6, 904) 00068300
CALL REPORT (SSAR,SSDR,N1,N,NPP) 00068400
1313 IF(IPLOT-1)5,600,5 00068500
600 CALL GRAPH (XX,YY,AXX,XXB,N,NXX) 00068600
GO TO 5 00068700
900 FORMAT(A6,A2,I3,4I2,49X,2I2) 00068800
901 FORMAT(21H0TRANSGENERATION CARD//16H CODE CONSTANT//) 00068900
902 FORMAT(15H0PROBLEM NO. A2) 00069000
903 FORMAT(12H SAMPLE SIZEI5) 00069100
904 FORMAT(1H0) 00069200
905 FORMAT(38H0REGRESSION - ONE INDEPENDENT VARIABLE) 00069300
906 FORMAT(23H0XMEAN..... F12.5) 00069400
907 FORMAT(23H YMEAN..... F12.5) 00069500
908 FORMAT(23H0INTERCEPT (A VALUE)...F12.5) 00069600
909 FORMAT(23H REG. COEFFICIENT......F12.5) 00069700
910 FORMAT(25H STD. ERROR OF REG. COEF.F10.5) 00069800
911 FORMAT(23H0CORRELATION COEF......F12.5///) 00069900
912 FORMAT(32H0POLYNOMIAL REGRESSION OF DEGREEI3) 00070000
913 FORMAT(24H0REGRESSION COEFFICIENTS) 00070100
914 FORMAT(25H0STD. ERROR OF REG. COEF.) 00070200
915 FORMAT(10F12.5) 00070300
916 FORMAT(12A6) 00070400
917 FORMAT(71H0COMPUTATIONAL ACCURACY NOT SUFFICIENT FOR POLYNOMIALS O00070500
1F HIGHER DEGREE) 00070600
919 FORMAT(22H0ERROR ON PROBLEM CARD) 00070700
920 FORMAT(A6,I1,8(I2,F6.0)) 00070800
921 FORMAT(96H0SPECTG CARD MISPUNCHED OR OUT OF ORDER. PROGRAM WILL PR00070900
1OCEED TO NEXT JOB, IF ANY, OR TERMINATE.) 00071000
922 FORMAT(1H I3,F12.5) 00071100
923 FORMAT(29H0ILLEGAL TRANSGENERATION CODEI3,67H SPECIFIED. PROGRAM W00071200
1ILL CONTINUE LEAVING OUT THIS TRANSGENERATION.) 00071300
END 00071400