7.8.1 uspget/uspset(uspstx)

1.
Function
Inquires/changes the floating-point, integer, and logical internal variables. (uspstx permits changes with a runtime option.)

2.
Call
rpara = NumRu::DCL.uspget(cp)
NumRu::DCL.uspset(cp,rpara)
NumRu::DCL.uspstx(cp,rpara)

3.
Argument
cp (C*(*)) The name of a parameter (i)
ipara (I/R/L) The value of a parameter (i/o)

4.
List of Parameters

ireset (I) A variable for specifying the automatic resetting of parameters with usinit. The initial value is 1.

0: Resets only the variables with *, such as scaling parameters.
1: In addition to ireset=0, resets the title.
2: Reset all parameters in us p set.
usinit is normally called from grfrm.

xdtmin*, xdtmax* (R) The maximum and minimum values of the X axis set by usspnt.
ydtmin*, ydtmax* (R) The maximum and minimum values of the Y axis set by usspnt.

lxinv (L) Inverts the X axis (left-right) when .true..
lyinv (L) Inverts the Y axis (top-bottom) when .true..
lmatch (L) When .true., the intervals of the labels and characters for the X and Y axis are set to be equal.
rmrgn (R) The width of a margin. Units in width of character (9.524).

xfac* (R) The value of the X axis factor (999).
yfac* (R) The value of the Y axis factor (999).
xoff* (R) The offset value of an uniform X axis (999).
yoff* (R) The offset value of an uniform Y axis (999).

dxt* (R) The interval of the tick marks for an uniform X axis (999).
dyt* (R) The interval of the tick marks for an uniform Y axis (999).
dxl* (R) The interval of the labels for an uniform X axis (999).
dyl* (R) The interval of the labels for an uniform Y axis (999).

tfact (R) The approximate interval of tick marks for an uniform coordinate system (2).
A convenient value is selected for DUT, with an interval smaller than this value is multiplied by the character width.
mxdgtx (I) The maximum number of digits in the label for the uniform X axis (4).
mxdgty (I) The maximum number of digits in the label for the uniform Y axis (4).
When the number of digits in the label exceed this value, set uoff and ufac so that the number of digits is lower than this value.

nblank1 (I) The minimum number of blanks between the labels when the labels are parallel to the axis. (Uniform coordinate system) (1).
nblank2 (I) The minimum number of blanks between the labels when the labels are perpendicular to the axis. (Uniform coordinate system) (2).

nlblx* (I) The label format for a log X axis (999).
nlbly* (I) The label format for a log Y axis (999).
nticksx* (I) The number of ticks in a single order for a log X axis (999).
nticksy* (I) The number of ticks in a single order for a log Y axis (999).
itypex* (I) The type of log X axis (999).
itypey* (I) The type of log Y axis (999).

mxdgtsx (I) When the sub-labels for the X axis are drawn  horizontally, they are drawn so that they do not exceed the range of character numbers for the label specified by mxsdgtx.
mxdgtsy (I) When the sub-labels for the Y axis are drawn  vertically, they are drawn so that they do not exceed the range of character numbers for the label specified by mxdgtsy.
lprtct (L) Specifies that the sub-labels should not invade the label area for the other axis. When this is .true., then the specifications in mxdgtsx/mxdgtsy are ignored.

soffx sp * (R) The offset value of the X-axis sub-label. sp = 'TR', 'TL', 'BR', 'BL', 'UR', 'UL'.
soffy sp * (R) The offset value of the Y-axis sub-label. sp = 'RT', 'RB', 'LT', 'LB', 'UT', 'UB'.
roffx s * (R) The offset value of the X-axis when the Y-axis sub-label has intruded the X-axis label area. s = 'T', 'B'.
roffy s * (R) The offset value of the Y-axis when the X-axis sub-label has intruded the Y-axis label area. s = 'L', 'R'.

Variables with * are reset each time.

5.
Notes
(a)
The following subroutines are available for handling the internal variables.
ncp = NumRu::DCL.uspqnp() Counts the total number of internal variables (NCP).
idx = NumRu::DCL.uspqid(cp) Determines the position (IDX) of the internal variable cp.
cp = NumRu::DCL.uspqcp(idx) Inquires the name (CP) of the internal variable at position idx.
ipara = NumRu::DCL.uspqvl(idx) Inquires the value (IPARA) of the internal variable at position idx.
NumRu::DCL.uspsvl(idx,ipara) Changes the value (IPARA) of the internal variable at position idx
(b)
USpGET calls the above USPQID to determine the position of an internal variable, and inquires its value using uspqvl. uspset calls uspqid to determine the position of an internal variable and changes its value using uspsvl. Therefore, when the specified internal variable is not found, an error message is printed by uspqid.
(c)
Specify an appropriate type of constant or variable for ITYPE.