2 SUBROUTINE DSRCMA
(RSAV
, ISAV
, JOB
)
3 C-----------------------------------------------------------------------
4 C This routine saves or restores (depending on JOB) the contents of
5 C the Common blocks DLS001, DLSA01, which are used
6 C internally by one or more ODEPACK solvers.
8 C RSAV = real array of length 240 or more.
9 C ISAV = integer array of length 46 or more.
10 C JOB = flag indicating to save or restore the Common blocks:
11 C JOB = 1 if Common is to be saved (written to RSAV/ISAV)
12 C JOB = 2 if Common is to be restored (read from RSAV/ISAV)
13 C A call with JOB = 2 presumes a prior call with JOB = 1.
14 C-----------------------------------------------------------------------
17 INTEGER I
, LENRLS
, LENILS
, LENRLA
, LENILA
19 DOUBLE PRECISION RLS
, RLSA
20 DIMENSION RSAV
(*), ISAV
(*)
21 SAVE LENRLS
, LENILS
, LENRLA
, LENILA
22 COMMON /DLS001
/ RLS
(218), ILS
(37)
23 COMMON /DLSA01
/ RLSA
(22), ILSA
(9)
24 DATA LENRLS
/218/, LENILS
/37/, LENRLA
/22/, LENILA
/9/
26 IF (JOB
.EQ
. 2) GO TO 100
30 15 RSAV
(LENRLS
+I
) = RLSA
(I
)
35 25 ISAV
(LENILS
+I
) = ILSA
(I
)
43 115 RLSA
(I
) = RSAV
(LENRLS
+I
)
48 125 ILSA
(I
) = ISAV
(LENILS
+I
)
51 C----------------------- End of Subroutine DSRCMA ----------------------