DEFINITION MODULE MMidM; (* EXPORT QUALIFIED MMid; *) FROM NRMath IMPORT DerivFunction; FROM NRVect IMPORT Vector; PROCEDURE MMid(Y, DYDX: Vector; xs, htot: REAL; nstep: INTEGER; derivs: DerivFunction; YOUT: Vector); (* Modified midpoint step. At xs, input the dependent variable vector Y[0, n-1] and its derivative vector DYDX[0, n-1]. Also input is htot, the total step to be made, and nstep, the number of substeps to be used. The output is returned as YOUT[0, n-1], which need not be a distinct array from Y; if it is distinct, however, then Y and DYDX are returned undamaged. derivs is the user-supplied routine for calculating the right-hand side derivative. *) END MMidM.