5 SUBROUTINE ddasic (X, Y, YPRIME, NEQ, ICOPT, ID, RES, JAC, PSOL,
6 *
h, wt, nic, idid, rpar, ipar, phi, savr, delta,
e, yic, ypic,
7 * pwk, wm, iwm, hmin, uround, epli, sqrtn, rsqrtn, epconi,
8 * stptol, jflg, icnflg, icnstr, nlsic)
83 IMPLICIT DOUBLE PRECISION(
a-
h,o-z)
84 dimension y(*),yprime(*),id(*),wt(*),phi(neq,*)
85 dimension savr(*),delta(*),
e(*),yic(*),ypic(*),pwk(*)
86 dimension wm(*),iwm(*), rpar(*),ipar(*), icnstr(*)
87 EXTERNAL res, jac, psol, nlsic
98 DATA rhcut/0.1d0/, ratemx/0.8d0/
113 IF (nic .EQ. 2) jskip = 1
114 CALL dcopy(neq, y, 1, phi(1,1), 1)
115 CALL dcopy(neq, yprime, 1, phi(1,2), 1)
117 IF (icopt .EQ. 2)
THEN
130 CALL nlsic(x,y,yprime,neq,icopt,id,res,jac,psol,
h,wt,jskip,
131 * rpar,ipar,savr,delta,
e,yic,ypic,pwk,wm,iwm,cj,uround,
132 * epli,sqrtn,rsqrtn,epconi,ratemx,stptol,jflg,icnflg,icnstr,
135 IF (iernls .EQ. 0)
RETURN
148 iwm(lcfn) = iwm(lcfn) + 1
151 IF (iernls .EQ. -1) go
to 350
152 IF (icopt .EQ. 2) go
to 350
153 IF (nh .EQ. mxnh) go
to 350
159 IF (iernls .EQ. 1) go
to 200
161 CALL dcopy(neq, phi(1,1), 1, y, 1)
162 CALL dcopy(neq, phi(1,2), 1, yprime, 1)
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)
subroutine ddasic(X, Y, YPRIME, NEQ, ICOPT, ID, RES, JAC, PSOL, H, WT, NIC, IDID, RPAR, IPAR, PHI, SAVR, DELTA, E, YIC, YPIC, PWK, WM, IWM, HMIN, UROUND, EPLI, SQRTN, RSQRTN, EPCONI, STPTOL, JFLG, ICNFLG, ICNSTR, NLSIC)