GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
ixsav.f
Go to the documentation of this file.
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