Numerical integration/Adaptive Simpson's method: Difference between revisions

Content added Content deleted
m (→‎{{header|COBOL}}: Fix spelling of GnuCOBOL)
(→‎{{header|COBOL}}: Bug fix in the use of delta.)
Line 566: Line 566:
01 ruleval1 picture 9(5)V9(20).
01 ruleval1 picture 9(5)V9(20).
01 delta picture 9(5)V9(20).
01 delta picture 9(5)V9(20).
01 abs-delta picture 9(5)V9(20).
01 tol0 picture 9(5)V9(20).
01 tol0 picture 9(5)V9(20).
01 tol1 picture 9(5)V9(20).
01 tol1 picture 9(5)V9(20).
Line 590: Line 591:
compute delta = ruleval0 + ruleval1 - ruleval
compute delta = ruleval0 + ruleval1 - ruleval
if delta < 0 then
if delta < 0 then
compute delta = -delta
compute abs-delta = -delta
else
compute abs-delta = delta
end-if
end-if
compute tol0 = tol * (x4 - x0)
compute tol0 = tol * (x4 - x0)
compute tol1 = tol * (x2 - x0)
compute tol1 = tol * (x2 - x0)
if (tol1 = tol0) or (delta <= tol0) then
if (tol1 = tol0) or (abs-delta <= tol0) then
compute delta15 = delta / 15
compute delta15 = delta / 15
compute stepval = ruleval0 + ruleval1 + delta15
compute stepval = ruleval0 + ruleval1 + delta15