GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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