5 SUBROUTINE ddasik(X,Y,YPRIME,NEQ,ICOPT,ID,RES,JACK,PSOL,H,WT,
6 * jskip,rpar,ipar,savr,delta,r,yic,ypic,pwk,wm,iwm,cj,uround,
7 * epli,sqrtn,rsqrtn,epcon,ratemx,stptol,jflg,
8 * icnflg,icnstr,iernls)
96 IMPLICIT DOUBLE PRECISION(
a-
h,o-z)
97 dimension y(*),yprime(*),id(*),wt(*),icnstr(*)
98 dimension savr(*),delta(*),r(*),yic(*),ypic(*),pwk(*)
100 EXTERNAL res, jack, psol
102 parameter(lnre=12, lnje=13, llocwp=29, llciwp=30)
103 parameter(lmxnit=32, lmxnj=33)
119 iwm(lnre) = iwm(lnre) + 1
120 CALL res(x,y,yprime,cj,delta,ires,rpar,ipar)
121 IF (ires .LT. 0) go
to 370
135 IF (jflg .EQ. 1 .AND. jskip .EQ. 0)
THEN
137 iwm(lnje)=iwm(lnje)+1
138 CALL jack(res, ires, neq, x, y, yprime, wt, delta, r,
h, cj,
139 * wm(lwp), iwm(liwp), ierpj, rpar, ipar)
140 IF (ires .LT. 0 .OR. ierpj .NE. 0) go
to 370
146 CALL
dnsik(x,y,yprime,neq,icopt,id,res,psol,wt,rpar,ipar,
147 * savr,delta,r,yic,ypic,pwk,wm,iwm,cj,sqrtn,rsqrtn,
148 * eplin,epcon,ratemx,mxnit,stptol,icnflg,icnstr,iernew)
150 IF (iernew .EQ. 1 .AND. nj .LT. mxnj .AND. jflg .EQ. 1)
THEN
157 CALL dcopy(neq, savr, 1, delta, 1)
161 IF (iernew .NE. 0) go
to 380
169 IF (ires .LE. -2) iernls = -1
172 380 iernls =
min(iernew,2)
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 ddasik(X, Y, YPRIME, NEQ, ICOPT, ID, RES, JACK, PSOL, H, WT, JSKIP, RPAR, IPAR, SAVR, DELTA, R, YIC, YPIC, PWK, WM, IWM, CJ, UROUND, EPLI, SQRTN, RSQRTN, EPCON, RATEMX, STPTOL, JFLG, ICNFLG, ICNSTR, IERNLS)
subroutine dnsik(X, Y, YPRIME, NEQ, ICOPT, ID, RES, PSOL, WT, RPAR, IPAR, SAVR, DELTA, R, YIC, YPIC, PWK, WM, IWM, CJ, SQRTN, RSQRTN, EPLIN, EPCON, RATEMX, MAXIT, STPTOL, ICNFLG, ICNSTR, IERNEW)
charNDArray min(char d, const charNDArray &m)