5 SUBROUTINE dcnstr (NEQ, Y, YNEW, ICNSTR, TAU, RLX, IRET, IVAR)
58 IMPLICIT DOUBLE PRECISION(
a-
h,o-z)
61 DATA fac /0.6d0/, fac2 /0.9d0/,
zero/0.0d0/
72 IF (icnstr(i) .EQ. 2)
THEN
73 rdy =
abs( (ynew(i)-y(i))/y(i) )
74 IF (rdy .GT. rdymx)
THEN
78 IF (ynew(i) .LE.
zero)
THEN
85 ELSEIF (icnstr(i) .EQ. 1)
THEN
86 IF (ynew(i) .LT.
zero)
THEN
93 ELSEIF (icnstr(i) .EQ. -1)
THEN
94 IF (ynew(i) .GT.
zero)
THEN
101 ELSEIF (icnstr(i) .EQ. -2)
THEN
102 rdy =
abs( (ynew(i)-y(i))/y(i) )
103 IF (rdy .GT. rdymx)
THEN
107 IF (ynew(i) .GE.
zero)
THEN
117 IF(rdymx .GE. rlx)
THEN
void tau(int code, int p, int q)
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
subroutine dcnstr(NEQ, Y, YNEW, ICNSTR, TAU, RLX, IRET, IVAR)
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)
OCTAVE_EXPORT octave_value_list return the value of the option it must match the dimension of the state and the relative tolerance must also be a vector of the same length tem it must match the dimension of the state and the absolute tolerance must also be a vector of the same length The local error test applied at each integration step is xample roup abs(local error in x(i))<