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

152 lines
12 KiB
Plaintext

LABEL 0000000000XXXXXX0010000001
$ CARD
COMMENT PROCEDURE TO EVALUATE THE COEFFICIENTS OF TEST0000
EMPIRICAL FORMULAS. TEST0001
TEST0002
STEPHEN MATZNER TEST0003
(PROFESSIONAL SERVICES GROUP, BURROUGHS CORPORATION) TEST0004
TEST0005
PROCEDURE CARD SEQUENCE BEGINS WITH EMPI-0000 TEST0006
FIRST RELEASE DATE 04 - 08 - 64 ; TEST0007
TEST0008
BEGIN TEST0009
PROCEDURE EMPFOR(P,Y,A,B) ; EMPI0000
EMPI0001
VALUE P, Y ; EMPI0002
REAL ARRAY A, B, Y[0] ; EMPI0003
INTEGER P ; EMPI0004
EMPI0005
BEGIN EMPI0006
INTEGER I, J, L, Z, E, D, TEM, F, PH, Q, PQ, PQ1 ; EMPI0007
REAL M, K, CON ; EMPI0008
REAL ARRAY C, G[0:100] ; EMPI0009
EMPI0010
FOR I ~ 0 STEP 1 UNTIL P-1 DO EMPI0011
A[I] ~ B[I] ~ 0 ; EMPI0012
PH ~ P | 0.5 ; PQ ~ P | 0.25 ; PQ1 ~ PQ - 1 ; EMPI0013
D ~ 1 ; L ~ 90 ; TEM ~ -D ; Q ~ 1 ; EMPI0014
EMPI0015
FOR F ~ 1 STEP 1 UNTIL P-1 DO EMPI0016
BEGIN EMPI0017
IF F > PH THEN E ~ F - PH ELSE E ~ F ; EMPI0018
D ~ -D ; L ~ -L ; TEM ~ -TEM ; EMPI0019
EMPI0020
FOR J ~ 1 STEP 1 UNTIL PQ1 DO EMPI0021
BEGIN EMPI0022
Z ~ 1 ; M ~ E | J | TEM | 45 + L ; EMPI0023
CON ~ J | E | 45 ; K ~ 0 ; EMPI0024
EMPI0025
FOR I ~ 1 STEP 1 UNTIL PQ1 DO EMPI0026
BEGIN EMPI0027
M ~ M + K | D ; EMPI0028
K ~ CON/(I + Z + 1) ; Z ~ Z + I + 1 ; EMPI0029
END ; EMPI0030
C[PH+J] ~ SIN(M | 0.01745329252) ; EMPI0031
END ; EMPI0032
IF F { PH THEN EMPI0033
BEGIN EMPI0034
C[PH] ~ D | C[0] ~ 1 ; EMPI0035
EMPI0036
FOR J ~ 1 STEP 1 UNTIL PQ1 DO EMPI0037
BEGIN EMPI0038
C[PH-J] ~ C[PH+J] ; EMPI0039
C[P-J] ~ C[J] ~ D | C[PH-J] ; EMPI0040
END ; EMPI0041
END EMPI0042
ELSE EMPI0043
BEGIN EMPI0044
C[PH] ~ C[0] ~ 0 ; EMPI0045
EMPI0046
FOR J ~ 1 STEP 1 UNTIL PQ1 DO EMPI0047
BEGIN EMPI0048
C[PH-J] ~ -C[PH+J] ; EMPI0049
C[P-J] ~ -C[J] ~ D | C[PH-J] ; EMPI0050
END ; EMPI0051
END ; EMPI0052
IF D = -1 THEN C[PQ] ~ C[3|PQ] ~ 0 ELSE EMPI0053
IF F { PH THEN EMPI0054
C[3|PQ] ~ C[PQ] ~ Q ~ -Q ELSE EMPI0055
C[3|PQ] ~ -C[PQ] ~ Q ~ -Q ; EMPI0056
EMPI0057
FOR I ~ 0 STEP 1 UNTIL P-1 DO EMPI0058
IF F > PH THEN EMPI0059
B[E] ~ Y[I] | C[I] | 2/P + B[E] ELSE EMPI0060
A[E] ~ Y[I] | C[I] | 2/P + A[E] ; EMPI0061
IF F = PH THEN EMPI0062
BEGIN EMPI0063
D ~ -D ; L ~ 0 ; TEM ~ 1 ; Q ~ -1 ; A[E] ~ A[E]/2 EMPI0064
END ; EMPI0065
END ; EMPI0066
EMPI0067
FOR I ~ 0 STEP 1 UNTIL P-1 DO EMPI0068
A[0] ~ Y[I]/P + A[0] ; EMPI0069
END ; EMPI0070
BEGIN TEST0010
TEST0011
INTEGER I, P, PH, R, J ; TEST0012
REAL PER ; TEST0013
REAL ARRAY A,B,X,Y,G[0:100] ; TEST0014
ALPHA ARRAY S[0:100] ; TEST0015
TEST0016
FILE IN FIN(1,10) ; TEST0017
FILE OUT FOU 1 (1,15) ; TEST0018
TEST0019
FORMAT IN FM1(I2,F5.3), TEST0020
FM2(I2), TEST0021
FM3(8F10.5) ; TEST0022
TEST0023
FORMAT OUT FM4(F9.4," : ",F9.4), TEST0024
TIT1("Y = ",F9.4,X2,), TEST0025
TIT2(X15,4(A3,F9.4," COS ",I2," X",X2)/), TEST0026
TIT3(X15,4(A3,F9.4," SIN ",I2," X",X2)/) ; TEST0027
TEST0028
LIST DATAY(FOR I ~ 0 STEP 1 UNTIL P-1 DO Y[I]), TEST0029
TITLI1(FOR I ~ 1 STEP 1 UNTIL PH DO [S[I],ABS(A[I]),I]), TEST0030
TITLI2(FOR I ~ 1 STEP 1 UNTIL PH-1 DO [S[I],ABS(B[I]),I]),TEST0031
DATAX(FOR I ~ 1 STEP 1 UNTIL R DO X[I]) ; TEST0032
TEST0033
READ(FIN,FM2,P) ; TEST0034
READ(FIN,FM3,DATAY) ; TEST0035
READ(FIN,FM1,R,PER) ; TEST0036
READ(FIN,FM3,DATAX) ; TEST0037
EMPFOR(P,Y,A,B) ; TEST0038
PH ~ P | 0.5 ; TEST0039
TEST0040
COMMENT PRINT OUT OF EMPIRICAL FORMULA ; TEST0041
TEST0042
WRITE(FOU[NO],TIT1,A[0]) ; TEST0043
TEST0044
FOR I ~ 1 STEP 1 UNTIL PH DO TEST0045
IF A[I] } 0 THEN S[I] ~ " + " ELSE S[I] ~ " - " ; TEST0046
WRITE(FOU,TIT2,TITLI1) ; TEST0047
TEST0048
FOR I ~ 1 STEP 1 UNTIL PH-1 DO TEST0059
IF B[I] } 0 THEN S[I] ~ " + " ELSE S[I] ~ " - " ; TEST0050
WRITE(FOU,TIT3,TITLI2) ; TEST0051
WRITE(FOU[DBL]) ; TEST0052
TEST0053
COMMENT EVALUATION OF EMPIRICAL FORMULA ; TEST0054
TEST0055
FOR I ~ 1 STEP 1 UNTIL R DO TEST0056
BEGIN TEST0057
G[I] ~ 0 ; X[I] ~ X[I] | PER ; TEST0058
TEST0059
FOR J ~ 1 STEP 1 UNTIL PH DO TEST0060
G[I] ~ COS(0.01745329252|X[I]|J) | A[J] + G[I] ; TEST0061
TEST0062
FOR J ~ 1 STEP 1 UNTIL PH-1 DO TEST0063
G[I] ~ SIN(0.01745329252|X[I]|J) | B[J] + G[I] ; TEST0064
G[I] ~ A[0] + G[I] ; TEST0065
WRITE(FOU,FM4,X[I],G[I]) ; TEST0066
END ; TEST0067
END ; TEST0068
END . TEST0069
LABEL 000000000FIN 0010000001
24
149.0 137.0 128.0 126.0 128.0 135.0 159.0 178.0
189.0 191.0 189.0 187.0 178.0 170.0 177.0 183.0
181.0 179.0 179.0 185.0 182.0 176.0 166.0 160.0
61.0
50.0 100.0 150.0 200.0 250.0 300.0