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.
44 lines
3.4 KiB
Plaintext
44 lines
3.4 KiB
Plaintext
REAL PROCEDURE INTEGRAL (F)"LIMITS"(A,B)"TOLERANCE"(EPS) ; SIMP0001
|
|
VALUE A,B,EPS ; SIMP0002
|
|
REAL PROCEDURE F ; SIMP0003
|
|
REAL A,B,EPS ; SIMP0004
|
|
SIMP0005
|
|
BEGIN SIMP0006
|
|
SIMP0007
|
|
INTEGER LEVEL ; SIMP0008
|
|
SIMP0009
|
|
REAL PROCEDURE SIMPSON (F,A,DA,FA,FM,FB,ABSAREA,EST,EPS,LEVEL) ; SIMP0010
|
|
SIMP0011
|
|
VALUE A,DA,FA,FM,FB,EST,EPS ; SIMP0012
|
|
REAL PROCEDURE F ; SIMP0013
|
|
REAL A,DA,FA,FM,FB,ABSAREA,EST,EPS ; SIMP0014
|
|
INTEGER LEVEL ; SIMP0015
|
|
SIMP0016
|
|
BEGIN SIMP0017
|
|
SIMP0018
|
|
REAL DX,X1,X2,EST1,EST2,EST3,F1,F2,F3,F4,SUM,EPS1 ; SIMP0019
|
|
SIMP0020
|
|
DX ~ DA|(0.33333333333) ; X1 ~ A+DX ; X2 ~ X1+DX ; SIMP0021
|
|
F1 ~ (4.0)|F(A+DX|(0.5)) ; F2 ~ F(X1) ; SIMP0022
|
|
F3 ~ F(X2) ; F4 ~ (4.0)|F(A+(2.5)|DX) ; SIMP0023
|
|
EST1 ~ (FA+F1+F2)|DX|(0.16666666667) ; SIMP0024
|
|
EST2 ~ (F2+FM+F3)|DX|(0.16666666667) ; SIMP0025
|
|
EST3 ~ (F3+F4+FB)|DX|(0.16666666667) ; SIMP0026
|
|
ABSAREA ~ ABSAREA-ABS(EST)+ABS(EST1)+ABS(EST2)+ABS(EST3) ;SIMP0027
|
|
SUM ~ EST1+EST2+EST3 ; LEVEL ~ LEVEL+1 ; SIMP0028
|
|
EPS1 ~ EPS|(0.33333333333) ; SIMP0029
|
|
SIMP0030
|
|
SIMPSON ~ IF (ABS(EST-SUM) { EPS|ABSAREA AND EST ! 1) OR SIMP0031
|
|
LEVEL } 7 THEN SUM ELSE SIMP0032
|
|
SIMPSON (F,A ,DX,FA,F1,F2,ABSAREA,EST1,EPS1,LEVEL) SIMP0033
|
|
+ SIMPSON (F,X1,DX,F2,FM,F3,ABSAREA,EST2,EPS1,LEVEL) SIMP0034
|
|
+ SIMPSON (F,X2,DX,F3,F4,FB,ABSAREA,EST3,EPS1,LEVEL) ;SIMP0035
|
|
LEVEL ~ LEVEL-1 SIMP0036
|
|
END ; SIMP0037
|
|
SIMP0038
|
|
LEVEL ~ 1 ; SIMP0039
|
|
SIMP0040
|
|
INTEGRAL ~ SIMPSON (F,A,B-A,F(A),(4.0)|F((A+B)|(0.5)),F(B)SIMP0041
|
|
,1.0,1.0,EPS,LEVEL) SIMP0042
|
|
END ; SIMP0043
|