1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-05 10:23:52 +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

110 lines
8.4 KiB
Plaintext

LABEL 0000000000XXXXXX0010000001
$ CARD LIST
COMMENT WEDDLES RULE USED RECURSIVEY TO APPROXIMATE THE INTEGRAL TEST0001
OF THE FUNCTION FKT BETWEEN THE LIMITS A AND B. TEST0002
TEST0003
ANNE G. MACEK TEST0004
(PROFESSIONAL SERVICES GROUP, BURROUGHS CORPORATION) TEST0005
TEST0006
PROCEDURE CARD SEQUENCE BEGINS WITH WDDL-0001 TEST0007
FIRST RELEASE DATE 04-01-63 ; TEST0008
TEST0009
BEGIN TEST0010
TEST0011
REAL A,B,EPS,Z ; TEST0012
TEST0013
LIST BOUNDS(A,B,EPS), TEST0014
INTEGRAL(Z,A,B,EPS) ; TEST0015
TEST0016
FORMAT IN CARD(3E16.8) ; TEST0017
FORMAT OUT FORMOUT("INTEGRAL =",E20.10//"BETWEEN BOUNDS X =", TEST0018
E15.8," AND X =",E15.8//"TOLERANCE =",E15.8) ; TEST0019
TEST0020
FILE IN READER(1,10) ; TEST0021
FILE OUT PRINTER(1,15) ; TEST0022
TEST0023
REAL PROCEDURE FKT(X) ; TEST0024
TEST0025
VALUE X ; TEST0026
REAL X ; TEST0027
TEST0028
FKT ~ X*3 - X|5 ; TEST0029
TEST0030
REAL PROCEDURE WEDDLEINT(FKT,A,B,EPS) ; WDDL0001
WDDL0002
VALUE A,B,EPS ; WDDL0003
REAL A,B,EPS ; WDDL0004
REAL PROCEDURE FKT ; WDDL0005
WDDL0006
BEGIN WDDL0007
WDDL0008
INTEGER LEVEL,J ; WDDL0009
REAL INT ; WDDL0010
ARRAY F[0:5],C[0:5] ; WDDL0011
WDDL0012
REAL PROCEDURE WEDDLE(FKT,A,INT,FA,FB,F,ABSAREA,EST,EPS,C,LEVEL) ; WDDL0013
WDDL0014
VALUE A,INT,FA,FB,EST,EPS ; WDDL0015
INTEGER LEVEL ; WDDL0016
REAL A,INT,FA,FB,ABSAREA,EST,EPS ; WDDL0017
ARRAY F[0],C[0] ; WDDL0018
REAL PROCEDURE FKT ; WDDL0019
WDDL0020
BEGIN WDDL0021
WDDL0022
INTEGER I ; WDDL0023
REAL DX,DDX,X1,X2,EST1,EST2,EST3,IDDX,SUM,WEDX ; WDDL0024
ARRAY E,G,H[0:5] ; WDDL0025
WDDL0026
DX ~ INT/3.0 ; DDX ~ DX/6.0 ; WDDL0027
X1 ~ A + DX ; X2 ~ X1 + DX ; WDDL0028
EST1 ~ FA + F[2] ; EST2 ~ F[2] + F[4] ; WDDL0029
EST3 ~ F[4] + FB ; WDDL0030
WDDL0031
FOR I ~ 1 STEP 1 UNTIL 5 DO WDDL0032
BEGIN WDDL0033
IDDX ~ I | DDX ; WDDL0034
E[I] ~ FKT(A + IDDX) | C[I] ; WDDL0035
EST1 ~ E[I] + EST1 ; WDDL0036
G[I] ~ FKT(X1 + IDDX) | C[I] ; WDDL0037
EST2 ~ G[I] + EST2 ; WDDL0038
H[I] ~ FKT(X2 + IDDX) | C[I] ; WDDL0039
EST3 ~ H[I] + EST3 WDDL0040
END ; WDDL0041
WDDL0042
WEDX ~ DDX | 0.3 ; WDDL0043
EST1 ~ EST1 | WEDX ; WDDL0044
EST2 ~ EST2 | WEDX ; WDDL0045
EST3 ~ EST3 | WEDX ; WDDL0046
ABSAREA ~ ABSAREA - ABS(EST) + ABS(EST1) + ABS(EST2) + WDDL0047
ABS(EST3) ; WDDL0048
SUM ~ EST1 + EST2 + EST3 ; WDDL0049
LEVEL ~ LEVEL + 1 ; WDDL0050
WDDL0051
WEDDLE ~ IF (ABS(EST-SUM) { EPS|ABSAREA AND EST ! 1) OR WDDL0052
LEVEL } 7 THEN SUM WDDL0053
ELSE WEDDLE(FKT,A,DX,FA,F[2],E,ABSAREA,EST1,EPS/3.0,C, WDDL0054
LEVEL) + WEDDLE(FKT,X1,DX,F[2],F[4],G,ABSAREA,EST2, WDDL0055
EPS/3.0,C,LEVEL) + WEDDLE(FKT,X2,DX,F[4],FB,H, WDDL0056
ABSAREA,EST3,EPS/3.0,C,LEVEL) ; WDDL0057
WDDL0058
LEVEL ~ LEVEL - 1 WDDL0059
END ; WDDL0060
WDDL0061
LEVEL ~ 1 ; WDDL0062
INT ~ B - A ; WDDL0063
FILL C[*] WITH 0,5.0,1.0,6.0,1.0,5.0 ; WDDL0064
FOR J ~ 1 STEP 1 UNTIL 5 DO WDDL0065
F[J] ~ FKT(A + (INT | J)/6.0 | C[J]) ; WDDL0066
WDDL0067
WEDDLEINT ~ WEDDLE(FKT,A,INT,FKT(A),FKT(B),F,1.0,1.0,EPS, WDDL0068
C,LEVEL) WDDL0069
END ; WDDL0070
TEST0031
READ(READER,CARD,BOUNDS) ; TEST0032
Z ~ WEDDLEINT(FKT,A,B,EPS) ; TEST0033
WRITE(PRINTER,FORMOUT,INTEGRAL) TEST0034
TEST0035
END. TEST0036