3912
|
1 *DECK IXSAV |
|
2 INTEGER FUNCTION IXSAV (IPAR, IVALUE, ISET) |
|
3 C***BEGIN PROLOGUE IXSAV |
|
4 C***SUBSIDIARY |
|
5 C***PURPOSE Save and recall error message control parameters. |
|
6 C***LIBRARY MATHLIB |
|
7 C***CATEGORY R3C |
|
8 C***TYPE ALL (IXSAV-A) |
|
9 C***AUTHOR Hindmarsh, Alan C., (LLNL) |
|
10 C***DESCRIPTION |
|
11 C |
|
12 C IXSAV saves and recalls one of two error message parameters: |
|
13 C LUNIT, the logical unit number to which messages are printed, and |
|
14 C MESFLG, the message print flag. |
|
15 C This is a modification of the SLATEC library routine J4SAVE. |
|
16 C |
|
17 C Saved local variables.. |
|
18 C LUNIT = Logical unit number for messages. |
|
19 C LUNDEF = Default logical unit number, data-loaded to 6 below |
|
20 C (may be machine-dependent). |
|
21 C MESFLG = Print control flag.. |
|
22 C 1 means print all messages (the default). |
|
23 C 0 means no printing. |
|
24 C |
|
25 C On input.. |
|
26 C IPAR = Parameter indicator (1 for LUNIT, 2 for MESFLG). |
|
27 C IVALUE = The value to be set for the parameter, if ISET = .TRUE. |
|
28 C ISET = Logical flag to indicate whether to read or write. |
|
29 C If ISET = .TRUE., the parameter will be given |
|
30 C the value IVALUE. If ISET = .FALSE., the parameter |
|
31 C will be unchanged, and IVALUE is a dummy argument. |
|
32 C |
|
33 C On return.. |
|
34 C IXSAV = The (old) value of the parameter. |
|
35 C |
|
36 C***SEE ALSO XERMSG, XERRWD, XERRWV |
|
37 C***ROUTINES CALLED NONE |
|
38 C***REVISION HISTORY (YYMMDD) |
|
39 C 921118 DATE WRITTEN |
|
40 C 930329 Modified prologue to SLATEC format. (FNF) |
|
41 C 941025 Minor modification re default unit number. (ACH) |
|
42 C***END PROLOGUE IXSAV |
|
43 C |
|
44 C**End |
|
45 LOGICAL ISET |
|
46 INTEGER IPAR, IVALUE |
|
47 C----------------------------------------------------------------------- |
|
48 INTEGER LUNIT, LUNDEF, MESFLG |
|
49 C----------------------------------------------------------------------- |
|
50 C The following Fortran-77 declaration is to cause the values of the |
|
51 C listed (local) variables to be saved between calls to this routine. |
|
52 C----------------------------------------------------------------------- |
|
53 SAVE LUNIT, LUNDEF, MESFLG |
|
54 DATA LUNIT/-1/, LUNDEF/6/, MESFLG/1/ |
|
55 C |
|
56 C***FIRST EXECUTABLE STATEMENT IXSAV |
|
57 IF (IPAR .EQ. 1) THEN |
|
58 IF (LUNIT .EQ. -1) LUNIT = LUNDEF |
|
59 IXSAV = LUNIT |
|
60 IF (ISET) LUNIT = IVALUE |
|
61 ENDIF |
|
62 C |
|
63 IF (IPAR .EQ. 2) THEN |
|
64 IXSAV = MESFLG |
|
65 IF (ISET) MESFLG = IVALUE |
|
66 ENDIF |
|
67 C |
|
68 RETURN |
|
69 C----------------------- End of Function IXSAV ------------------------- |
|
70 END |