1 SUBROUTINE dintdy (T, K, YH, NYH, DKY, IFLAG)
43 DOUBLE PRECISION T, YH, DKY
44 dimension yh(nyh,*), dky(*)
45 INTEGER ILLIN, INIT, LYH, LEWT, LACOR, LSAVF, LWM, LIWM,
46 1 MXSTEP, MXHNIL, NHNIL, NTREP, NSLAST, CNYH,
47 2 IALTH, IPUP, LMAX, MEO, NQNYH, NSLP
48 INTEGER ICF, IERPJ, IERSL, JCUR, JSTART, KFLAG, L, METH, MITER,
49 2 MAXORD, MAXCOR, MSBP, MXNCF, N, NQ, NST, NFE, NJE, NQU
50 DOUBLE PRECISION CONIT, CRATE, EL, ELCO, HOLD, RMAX, TESCO,
51 1 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND
52 COMMON /dls001/ conit, crate, el(13), elco(13,12),
53 1 hold, rmax, tesco(3,12),
54 2 ccmax, el0, h, hmin, hmxi, hu, rc, tn, uround,
55 2 illin, init, lyh, lewt, lacor, lsavf, lwm, liwm,
56 3 mxstep, mxhnil, nhnil, ntrep, nslast, cnyh,
57 3 ialth, ipup, lmax, meo, nqnyh, nslp,
58 4 icf, ierpj, iersl, jcur, jstart, kflag, l, meth, miter,
59 5 maxord, maxcor, msbp, mxncf, n, nq, nst, nfe, nje, nqu
60 INTEGER I, IC, J, JB, JB2, JJ, JJ1, JP1
61 DOUBLE PRECISION C, R, S, TP
66 IF (k .LT. 0 .OR. k .GT. nq)
GO TO 80
67 tp = tn - hu - 100.0d0*uround*sign(abs(tn) + abs(hu), hu)
68 IF ((t-tp)*(t-tn) .GT. 0.0d0)
GO TO 90
72 IF (k .EQ. 0)
GO TO 15
79 IF (k .EQ. nq)
GO TO 55
85 IF (k .EQ. 0)
GO TO 35
91 40 dky(i) = c*yh(i,jp1) + s*dky(i)
99 80 msg =
'DINTDY- K (=I1) illegal '
100 CALL xerrwd (msg, 30, 51, 0, 1, k, 0, 0, 0.0d0, 0.0d0)
103 90 msg =
'DINTDY- T (=R1) illegal '
104 CALL xerrwd (msg, 30, 52, 0, 0, 0, 0, 1, t, 0.0d0)
105 msg=
' T not in interval TCUR - HU (= R1) to TCUR (=R2) '
106 CALL xerrwd (msg, 60, 52, 0, 0, 0, 0, 2, tp, tn)
subroutine dintdy(T, K, YH, NYH, DKY, IFLAG)
subroutine xerrwd(MSG, NMES, NERR, LEVEL, NI, I1, I2, NR, R1, R2)