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

65 lines
4.4 KiB
Plaintext

BEGIN CMNT0001
COMMENT NEWTON FORWARD AND BACKWARD INTERPOLATION PROCEDURE CMNT0002
J. K. KONDO CMNT0003
(PROFESSIONAL SERVICES, BURROUGHS CORPORATION) . CMNT0004
PROCEDURE CARD SEQUENCE STARTS WITH NFBI0001. CMNT0005
FIRST RELEASE 06-28-1963 ; CMNT0006
PROCEDURE INBES(XI,XF,H,Y,X,EPSILON,M,IB,LLABEL) ; IBES0002
VALUE XI,XF,H,X,EPSILON ; IBES0003
INTEGER M ; IBES0004
REAL XI,XF,H,X,EPSILON,IB ; IBES0005
ARRAY Y[0] ; IBES0006
LABEL LLABEL ; IBES0007
BEGIN IBES0008
INTEGER I,J,K,N,P,IV,FV,L ; IBES0009
REAL XO, U2, U, U1, TEMP, TRY ; IBES0010
LABEL LA,ENDBES,TEST ; IBES0011
IF (X < XI) OR (X > XF) THEN GO TO LLABEL ; IBES0012
N ~ (XF-XI)/H ; IBES0013
IF M } N THEN M ~ IF N MOD 2 = 0 THEN N -1 ELSE N ; IBES0014
J ~ ENTIER(N/2) ; IBES0015
IV ~ J - ENTIER(M/2) ; FV ~ J + ENTIER(M/2) + 1 ; IBES0016
XO ~ XI + J| H ; IBES0017
U2 ~ U ~ (X - XO)/H ; U1 ~ U - 0.5 ; IBES0018
L ~ 2 ; I ~ 1 ; K ~ 1 ; IBES0019
IB ~ Y[J] ; IBES0020
FOR P ~ IV STEP 1 UNTIL FV-1 DO Y[P] ~ Y[P+1] - Y[P] ; IBES0021
IB ~ IB + U2 | Y[J] ; IBES0022
TRY ~ U2 ~ 0.5|U2|(U - 1) ; IBES0023
TEMP ~ 0.5|(Y[J+1] - Y[J-1]) ; IBES0024
GO TO TEST ; IBES0025
LA: IF K = 1 THEN IBES0026
BEGIN IBES0027
TEMP ~ 0.5|(Y[J-I+1] - Y[J-I-1]) ; IBES0028
I ~ I + 1 ; IBES0029
TRY ~ U2 ~ U2|(U-I)/L ; IBES0030
END IBES0031
ELSE IBES0032
BEGIN IBES0033
TEMP ~ Y[J-I+1] - Y[J-I] ; IBES0034
U2 ~ U2/L ; TRY ~ U2|U1 ; IBES0035
END ; IBES0036
TEST: IF ABS(TEMP) < EPSILON THEN GO TO ENDBES ; IBES0037
IB ~ IB + TEMP | TRY ; IBES0038
IF L = M THEN GO TO ENDBES ; IBES0039
FOR P ~ IV STEP 1 UNTIL FV-L DO Y[P] ~ Y[P+1] - Y[P] ; IBES0040
K ~ -K ; L ~ L + 1 ; GO TO LA ; IBES0041
ENDBES: END ; IBES0042
TEST CASE DATA.
.6800 .6900 .0005 20
.80866138 .80948868 .81031665 .81114529 .81197460 .81280459 .81363526
.81446660 .81529861 .81613131 .81696468 .81779874 .81863348 .81946890
.82030501 .82114180 .82197928 .82281745 .82365631 .82449586 .82533611
.6852 .0000001 22
.6846 .0000001 20
.9550 .9650 .0005 20
.81631374 .81660244 .81689094 .81717924 .81746732 .81775521 .81804289
.81833037 .81861764 .81890471 .81919157 .81947823 .81976468 .82005093
.82033697 .82062281 .82090844 .82119387 .82147909 .82176410 .82204892
.9598 .0000001 20
.9646 .0000001 20