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)