Documentation:Reference:TDI M1 - MdsWiki
Navigation
Personal tools

From MdsWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 21:38, 21 January 2007 (edit)
WikiSysop (Talk | contribs)

← Previous diff
Revision as of 21:48, 21 January 2007 (edit)
WikiSysop (Talk | contribs)

Next diff →
Line 3: Line 3:
| |
__NOTOC__ __NOTOC__
-<span id="kind"></span> 
-==KIND (A)== 
- 
-MDS/VMS Inquiry. Data type of data storage descriptor. <br /><br /> Argument. A may be any descriptor. <br /><br /> Result.. Byte unsigned of the descriptor data type. <br /> Descriptor data types (DSC$K_DTYPE_DSC) are removed. <br /> Use KIND for data type without NID, PATH, or variable. <br /> Use KIND_OF for data type including them. <br /><br /> Examples. KIND(3) is 8 (DSC$K_DTYPE_L) on the VAX. <br /> KIND(1.2) is 10 (DSC$K_DTYPE_F) on the VAX. <br /> KIND(_X) is the kind of the value in variable _X. <br /><br /> 
- 
<span id=""></span> <span id=""></span>
-==KIND_OF (A)==+==MAKE_ACTION (DISPATCH,TASK,[ERRORLOGS],[COMPLETION],[PERFORMANCE])==
-MDS/VMS Inquiry. Data type of data storage descriptor. <br /><br /> Argument. A may be any descriptor. <br /><br /> Result.. Byte unsigned of the descriptor data type. <br /> Descriptor data types (DSC$K_DTYPE_DSC) are removed. <br /> Use KIND for data type without NID, PATH, or variable. <br /> Use KIND_OF for data type including them. <br /><br /> Examples. KIND_OF(3) is 8 (DSC$K_DTYPE_L) on the VAX. <br /> KIND_OF(1.2) is 10 (DSC$K_DTYPE_F) on the VAX. <br /> KIND_OF(_X) is 191 (DSC$K_DTYPE_IDENT) on the VAX. <br /><br />+MDS Operation. Make an action descriptor. <br /><br /> Arguments <br /> DISPATCH dispatch descriptor. <br /> TASK procedure, program, routine, or method descriptor. <br /> ERRORLOGS a character scalar for error reports. <br /> COMPLETION notification list. <br /> PERFORMANCE unsigned long vector of statistics from execution. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. MAKE_ACTION(MAKE_DISPATCH("ident","phase","when", <br /> "completion"),MAKE_ROUTINE(timeout,image,routine)) <br /> has only dispatch and task. <br /><br />
<span id=""></span> <span id=""></span>
-==LABEL (NAME,STMT,...)==+==MAKE_CALL ([KIND],IMAGE,ROUTINE,[ARG],...)==
-Modified CC Statement. Label holder for statements. <br /> Required Usual Form. LABEL NAME : STMT. <br /> Functiom Form LABEL(NAME,STMT,...). May be syntatically invalid. <br /><br /> Arguments <br /> NAME character scalar. Should begin with underscore (_). <br /> STMT statement, simple or compound (like {S1 S2} or <br /> multiple (like S1 S2). <br /><br /> Result.. STMT except ignored in a GOTO that does not match <br /> the LABEL. <br /> Example. IF (_A &gt; 0) GOTO _XX <br /> ... <br /> LABEL _XX : ... <br /><br />+MDS Operation. Make a call of a routine in a sharable image. <br /> Usual Forms IMAGE-&gt;ROUTINE:KIND([ARG],...) or IMAGE-&gt;ROUTINE([ARG]) <br /><br /> Arguments Optional: KIND, ARG... . <br /> KIND byte unsigned scalar of KIND returned in R0. <br /> Use DSC$K_DTYPE_DSC=24 for a pointer to an XD. <br /> Use DSC$K_DTYPE_MISSING=0 for no information. <br /> Default type is long integer. <br /> Other accepted types are BU WU LU QU OU B W L Q O F D <br /> NID and null-terminated strings T PATH EVENT. <br /> IMAGE character scalar. It must be a simple filename in <br /> SYS$SHARE or a logical name of the file. <br /> ROUTINE character scalar. <br /> ARG... arguments with certain options. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /> Use this form if IMAGE or ROUTINE must be expressions. <br /><br /> Example. MAKE_CALL(24,'TDISHR','TDI$SIND',DESCR(30.)) is <br /> the slow and hard way to do SIND(30.). <br /><br /> See also. CALL for info on argument form and type of output. <br /><br />
<span id=""></span> <span id=""></span>
-==LANGUAGE_OF (A)==+==MAKE_CONDITION (MODIFIER,CONDITION)==
-MDS Operation. Get the language field. <br /><br /> Argument. Descriptor as below. <br /><br /> Result.. A is searched for this: <br /> DSC$K_DTYPE_PROCEDURE, the language field. <br /> Otherwise, an error. <br /><br />+MDS Operation. Make a condition descriptor. <br /><br /> Arguments <br /> MODIFIER word unsigned, evaluated: <br /> TREE$K_NEGATE_CONDITION 7 <br /> TREE$K_IGNORE_UNDEFINED 8 <br /> TREE$K_IGNORE_STATUS 9 <br /> CONDITION MDS event or path. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. None, normally done by COMPILE_DEPENDENCY. <br /><br /> See also. MAKE_DEPENDENCY MAKE_EVENT and COMPILE_DEPENDENCY. <br /><br />
<span id=""></span> <span id=""></span>
-==LASTLOC (MASK,[DIM])==+==MAKE_CONGLOM (IMAGE,MODEL,NAME,QUALIFIERS)==
-Transformation. Locate the trailing edges of a set of <br /> true elements of a logical mask. <br /><br /> Arguments Optional: DIM. <br /> MASK logical array. <br /> DIM integer scalar from 0 to n-1, where n is rank of MASK. <br /><br /> Signals. Same as MASK. <br /> Units... None. <br /> Form.... Logical of same shape. <br /><br /> Result. <br /> (i) LASTLOC(MASK) has at most one true element. If there is <br /> a true value, it is the first in array element order. <br /> (ii) LASLOC(MASK,DIM) is found by applying LASTLOC to each of <br /> the one-dimensional array sections of MASK that lie <br /> parallel to dimension DIM. <br /><br /> Examples. <br /> (i) The last array-ordered element <br /> LASTLOC(_M=[0 0 1 0]) is [0 0 0 0]. <br /> [0 1 1 0] [0 0 0 0] <br /> [0 1 0 1] [0 0 0 1] <br /> [0 0 0 0] [0 0 0 0] <br /> (ii) The right edge <br /> LASTLOC(_M,1) is [0 0 1 0]. <br /> [0 0 1 0] <br /> [0 0 0 1] <br /> [0 0 0 0] <br /><br />+MDS Operation. Make a conglomerate descriptor. <br /><br /> Arguments <br /> IMAGE character scalar. <br /> MODEL character scalar. <br /> NAME character scalar. <br /> QUALIFIERS long vector, module dependent. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. None, normally done by module add routines. <br /><br />
<span id=""></span> <span id=""></span>
-==LBOUND (ARRAY,[DIM])==+==MAKE_DEPENDENCY (OP_CODE,ARG_1,ARG_2)==
-F90 Inquiry. All the declared lower bounds of an array or a specified <br /> lower bound. <br /><br /> Arguments Optional: DIM. <br /> ARRAY any type array. <br /> DIM integer scalar from 0 to n-1, where n is rank of ARRAY. <br /><br /> Signals. None. <br /> Units... None. <br /> Form.... Integer scalar if DIM is present, otherwise, a vector of <br /> size n. <br /><br /> Result. <br /> (i) LBOUND(ARRAY,DIM) is equal to the lower bound <br /> for subscript DIM of ARRAY. If no bounds is declared, <br /> the result is 0. <br /> (ii) LBOUND(ARRAY) has the j-th component equal to <br /> LBOUND(ARRAY,j) for each j, 0 to n-1. <br /><br /> Examples. LBOUND(_A=SET_RANGE(2:3,7:10,0)) is [2,7] and <br /> LBOUND(_A,1) is 7. <br /><br /> See also UBOUND for upper bound, SHAPE for number of elements, <br /> SIZE for total elements, and E... for signals. <br /><br />+MDS Operation. Make a dependency descriptor. <br /><br /> Arguments <br /> OP_CODE word unsigned scalar, evaluated. <br /> TREE$K_DEPENDENCY_AND 10 <br /> TREE$K_DEPENDENCY_OR 11 <br /> ARG_1 MDS condition, event, or path. <br /> ARG_2 MDS condition, event, or path. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. None, normally done by COMPILE_DEPENDENCY. <br /><br /> See also. MAKE_CONDITION MAKE_EVENT and COMPILE_DEPENDENCY. <br /><br />
<span id=""></span> <span id=""></span>
-==LE (X,Y)==+==MAKE_DIM ([WINDOW],AXIS)==
-Logical Elemental. Tests for first less than or equal to second. <br /> Usual Forms X &lt;= Y, X LE Y. <br /> Function Form LE(X,Y). <br /><br /> Arguments X and Y must both be numeric or character. <br /> Complex numbers are an error. <br /><br /> Signals. Single signal or smaller data. <br /> Units... None unless both have units and they don't match. <br /> Form.... Logical of compatible shape. <br /><br /> Result.. True if X is less than or equal to Y; otherwise, false. <br /> A reserved operand is always false. Character are <br /> compared in the processor collating sequence. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, floating point operations may not match an exact <br /> calculation for nonterminating binary fractions. You <br /> cannot predict that .1+.1&lt;=.2 is true. Integer values <br /> may be truncated when matched to floating numbers. <br /><br /> Example. 2&lt;=2.0 is $TRUE. <br /><br />+MDS Operation. Make a dimension descriptor. <br /><br /> Arguments Optional: WINDOW. <br /> WINDOW window descriptor. <br /> If missing, all point of AXIS are included and <br /> the initial point of the axis has an index of 0. <br /> AXIS slope or, if defined, other descriptor type. <br /><br /> Signals. None. <br /> Units... From AXIS. Should be same as WINDOW's value_at_idx0. <br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /> The array will have bounds only if the <br /> window has a defined value at index 0. <br /><br /> Example. MAKE_DIM(MAKE_WINDOW(-1,3,10.),MAKE_SLOPE(3.)) <br /> makes dimension with value <br /> SET_RANGE(-1..3, [7.,10.,13.,16.,19.]). <br /><br />
<span id=""></span> <span id=""></span>
-==LEN (STRING)==+==MAKE_DISPATCH (TYPE,IDENT,PHASE,WHEN,COMPLETION)==
-F90 Inquiry. The length of a character entity or the number of bytes in <br /> numeric data (extension). <br /><br /> Argument. STRING is any type, scalar or array. <br /><br /> Signals. None. <br /> Units... None. <br /> Form.... Integer scalar. <br /><br /> Result.. The number of characters in STRING if it is scalar or in <br /> an element of STRING if it is an array. <br /><br /> Example. LEN('abcdefghijk') is 11. <br /><br />+MDS Operation. Make a dispatch descriptor. <br /><br /> Arguments <br /> TYPE byte unsigned scalar, evaluated: <br /> TREE$K_SCHED_ASYNC 1 <br /> TREE$K_SCHED_SEQ 2 <br /> TREE$K_SCHED_COND 3 <br /> IDENT character scalar. <br /> PHASE character scalar. <br /> WHEN character scalar? <br /> COMPLETION character scalar? <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. None, normally done by module add routine. <br /><br />
<span id=""></span> <span id=""></span>
-==LEN_TRIM (STRING)==+==MAKE_FUNCTION (OPCODE,[ARG],...)==
-F90 Character Elemental. Length of the character argument without <br /> trailing blank or tab characters. <br /><br /> Argument. STRING must be character. <br /><br /> Signals. Same as STRING. <br /> Units... None. <br /> Form.... Integer of same shape. <br /><br /> Result.. The number of characters after any trailing blanks or <br /> tabs are removed. If STRING has no nonblanks other than <br /> tabs the result is 0. <br /><br /> Examples. LEN_TRIM(' A B ') is 4 and LEN_TRIM(' ') is 0. <br /><br />+MDS Operation. Make a function descriptor. <br /><br /> Arguments Optional: ARG,... . <br /> OPCODE unsigned word from 0 to the number defined less one. <br /> ARG,... as needed by the function described by OPCODE. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. MAKE_FUNCTION(BUILTIN_OPCODE('SIN'),30) makes an <br /> expression SIN(30). <br /><br />
<span id=""></span> <span id=""></span>
-==LGE (STRING_A,STRING_B)==+==MAKE_METHOD (TIME_OUT,METHOD,OBJECT,[ARG]...)==
-F90 Character Elemental. Test whether a string is lexically greater <br /> than or equal to another string based on the ASCII <br /> collating sequence. <br /><br /> Arguments STRING_A and STRING_B must be character. <br /><br /> Signals. Single signal or smaller data. <br /> Units... None, bad if different. <br /> Form.... Logical of compatible shape. <br /><br /> Result.. If the strings are of unequal length, the comparison is <br /> made as if the shorter string were extended on the right <br /> with blanks to the length of the longer string. If <br /> either string has a character not in the ASCII character <br /> set, the result is processor dependent. The result is <br /> true if the strings are equal or if STRING_A follows <br /> STRING_B in the collating sequence; otherwise, false. <br /><br /> Example. LGE('ONE','TWO') is $FALSE. <br /><br />+MDS Operation. Make a method descriptor. <br /><br /> Arguments Optional: ARG,... . <br /> TIME_OUT real scalar. <br /> METHOD character scalar. <br /> OBJECT character scalar. <br /> ARG,... as needed by METHOD applied to OBJECT. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. None, normally done by module add routine. <br /><br />
<span id=""></span> <span id=""></span>
-==LGT (STRING_A,STRING_B)==+==MAKE_PARAM (VALUE,HELP,VALIDATION)==
-F90 Character Elemental. Test whether a string is lexically greater than <br /> another string based on the ASCII collating sequence. <br /><br /> Arguments STRING_A and STRING_B must be character. <br /><br /> Signals. Single signal or smaller data. <br /> Units... None, bad if different. <br /> Form.... Logical of compatible shape. <br /><br /> Result.. If the strings are of unequal length, the comparison is <br /> made as if the shorter string were extended on the right <br /> with blanks to the length of the longer string. If <br /> either string has a character not in the ASCII character <br /> set, the result is processor dependent. The result is <br /> true if STRING_A follows STRING_B in the collating <br /> sequence; otherwise, false. <br /><br /> Example. LGT('ONE','TWO') is $FALSE. <br /><br />+MDS Operation. Make a parameter descriptor. <br /><br /> Arguments <br /> VALUE any. <br /> HELP character. Textual information about VALUE. <br /> VALIDATION logical scalar. $VALUE may be used by VALIDATION to <br /> test VALUE without explicit reference to a tree path. <br /> $THIS will give the parameter descriptor itself. <br /> $VALUE and $THIS may only be used within GET_DATA <br /> evaluations of the arguments. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING Use of $THIS and $VALUE may be infinitely recursive. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /> Example. MAKE_PARAM(42.0,'The answer.', <br /> $VALUE &gt; 6 &amp;&amp; HELP_OF($THIS) &lt;&gt; ""). <br /> DATA(above) is 42.0 and VALIDATION(above) is 1BU. <br /><br />
<span id=""></span> <span id=""></span>
-==LLE (STRING_A,STRING_B)==+==MAKE_PROCEDURE (TIME_OUT,LANGUAGE,PROCEDURE,[ARG],...)==
-F90 Character Elemental. Test whether a string is lexically less <br /> than or equal to another string based on the ASCII <br /> collating sequence. <br /><br /> Arguments STRING_A and STRING_B must be character. <br /><br /> Signals. Single signal or smaller data. <br /> Units... None, bad if different. <br /> Form.... Logical of compatible shape. <br /><br /> Result.. If the strings are of unequal length, the comparison is <br /> made as if the shorter string were extended on the right <br /> with blanks to the length of the longer string. If <br /> either string has a character not in the ASCII character <br /> set, the result is processor dependent. The result is <br /> true if the strings are equal or if STRING_A follows <br /> STRING_B in the collating sequence; otherwise, false. <br /><br /> Example. LLE('ONE','TWO') is $TRUE. <br /><br />+MDS Operation. Make a procedure call <br /><br /> Arguments Optional: ARG,... . <br /> TIME_OUT real scalar. <br /> LANGUAGE character scalar. The language in which the procedure <br /> is written. <br /> PROCEDURE character scalar. <br /> ARG,... as needed by the procedure. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. None, normally done by module add routine. <br /><br />
<span id=""></span> <span id=""></span>
-==LLT (STRING_A,STRING_B)==+==MAKE_PROGRAM (TIME_OUT,PROGRAM)==
-F90x Character Elemental. Test whether a string is lexically less <br /> than another string based on the ASCII collating sequence. <br /><br /> Arguments STRING_A and STRING_B must be character. <br /><br /> Signals. Single signal or smaller data. <br /> Units... None, bad if different. <br /> Form.... Logical of compatible shape. <br /><br /> Result.. If the strings are of unequal length, the comparison is <br /> made as if the shorter string were extended on the right <br /> with blanks to the length of the longer string. If <br /> either string has a character not in the ASCII character <br /> set, the result is processor dependent. The result is <br /> true if STRING_A follows STRING_B in the collating <br /> sequence; otherwise, false. <br /><br /> Example. LLT('ONE','TWO') is $TRUE. <br /><br />+MDS Operation. Make a program call <br /><br /> Arguments <br /> TIME_OUT real scalar. <br /> PROGRAM character scalar. The name of a program to be run. <br /> The program must be responsible for entering its data in <br /> the tree. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. MAKE_PROGRAM(1.2,'MYDISK:MYPROGRAM'). <br /><br />
<span id=""></span> <span id=""></span>
-==LOG (X)==+==MAKE_RANGE ([START],[END],[DELTA])==
-F90 Mathematical Elemental. Natural logarithm. <br /><br /> Argument. X must be real or complex, HC is converted to GC. <br /><br /> Signals. Same as X. <br /> Units... None, bad if X has units. <br /> Form.... Same as X. <br /><br /> Result.. Processor approximation to log X (base e). A complex <br /> result is the principal value with imaginary part in the <br /> range -pi to pi. The imaginary part of the result is pi <br /> only when the real part of X is less than zero and the <br /> imaginary part of X is zero. <br /><br /> Example. LOG(10.0) is 2.302581, approximately. <br /><br />+MDS Operation. Make a range descriptor. <br /> Usual Form START .. END [.. DELTA] or START : END [: DELTA]. <br /><br /> Arguments Optional: DELTA; START and END when used as subscript <br /> limits. See the specific routine; otherwise, required. <br /> START scalar. The starting value. <br /> END scalar. The last value. <br /> DELTA scalar. The increment. Default is one. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /> This uses a data type RANGE, whereas <br /> DTYPE_RANGE(START,END,DELTA) is a function. <br /> On evaluation, the compatible data type. <br /> A vector of length max((END - BEGIN)/DELTA,0) elements. <br /><br /> The first value will be BEGIN and successive values will <br /> differ by DELTA. The last value will not be futher from <br /> BEGIN than END. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, the number of element cannot always be predicted <br /> for fractional delta, 1:2:.1 may have 10 or 11 elements. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNINGS, the colon (:) form may be confused with a tree member <br /> and the dot-dot (..) form is hard to read/understand, <br /> use spaces. <br /><br /> Examples. 2..5 becomes [2,3,4,5] and 2:5:1.8 becomes [2.,3.8]. <br /><br />
<span id=""></span> <span id=""></span>
-==LOG10 (X)==+==MAKE_ROUTINE (TIME_OUT,IMAGE,ROUTINE,[ARG],...)==
-F90 Mathematical Elemental. Common logarithm. <br /><br /> Argument. X must be real. Complex numbers are an error. <br /><br /> Signals. Same as X. <br /> Units... None, bad if X has units. <br /> Form.... Same as X. <br /><br /> Result.. Processor approximation to log X (base 10). <br /><br /> Example. LOG10(10.0) is 1.0 approximately. <br /><br />+MDS Operation. Make a routine descriptor. <br /><br /> Arguments Optional: ARG,... . <br /> TIME_OUT real scalar. <br /> IMAGE character scalar. <br /> ROUTINE character scalar. <br /> ARG,... as needed by the routine. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. MAKE_ROUTINE(1.2,MYIMAGE,MYROUTINE,5). <br /><br />
<span id=""></span> <span id=""></span>
-==LOG2 (X)==+==MAKE_SIGNAL (DATA,RAW,[DIMENSION,...])==
-Mathematical Elemental. Logarithm, base 2. <br /><br /> Argument. X must be real. Complex numbers are an error. <br /><br /> Signals. Same as X. <br /> Units... None, bad if X has units. <br /> Form.... Same as X. <br /><br /> Result.. Processor approximation to log X (base 2). <br /><br /> Example. LOG2(8.0) is 3.0 approximately. <br /><br />+MDS Operation. Make data with dimensions. <br /><br /> Arguments Optional: DIMENSION,... . <br /> DATA any expression. It may include $VALUE for RAW without a <br /> tree reference or $THIS to refer to the whole signal. <br /> $VALUE and $THIS may only be used within GET_DATA <br /> evaluations of the signal. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING Use of $THIS and $VALUE may be infinitely recursive. <br /> RAW any expression. Usually the actual stored integer data. <br /> DIMENSION,... dimension descriptor. The number of dimension <br /> descriptors must match rank of DATA. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, if the dimension is not of data type dimension, then <br /> subscripting is by index value and not axis value. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example.
-<span id=""></span>+ MAKE_SIGNAL( MAKE_WITH_UNITS( $VALUE*6, 'm/s^2' ), /* the DATA part of the Signal */ MAKE_WITH_UNITS( 5./1024*[1,2,3], 'V' ), /* the RAW part of the Signal */ MAKE_DIMENSION( MAKE_WINDOW( 0,2,10. ), MAKE_SLOPE( MAKE_WITH_UNITS(3.,'s') ) ) ) Here the RAW part of the Signal is referred to in the expression for the DATA part as $VALUE.
-==LOGICAL (A,[KIND])==+
-Conversion Elemental. Convert to a logical. True is 1BU, False is 0BU. <br /><br /> Argument. Optional: KIND. <br /> A integer. <br /> KIND scalar integer type number, for example, KIND($TRUE). <br /> (Today, there is only one logical type.) <br /><br /> Signals. Same as A. <br /> Units... Same as A. <br /> Form.... Logical (byte_unsigned) of same shape. <br /><br /> Result.. True if lowest bit of converted integer is on. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, truncation does not cause an error. <br /><br /> Example. LOGICAL(_L OR NOT _L) is $TRUE. <br /><br />+<br />
<span id=""></span> <span id=""></span>
-==LONG (A)==+==MAKE_SLOPE (SLOPE,[BEGIN,[END]]...)==
-Conversion Elemental. Convert to long (four-byte) integer. <br /><br /> Argument. A must be numeric. <br /><br /> Signals. Same as A. <br /> Units... Same as A. <br /> Form.... Long-length integer of same shape. <br /><br /> Result.. The truncated whole part of A. <br /> Immediate at compilation. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, truncation does not cause an error. <br /><br /> Examples. LONG(123.4) is 123. <br /><br />+MDS Operation. Make a piece-wise linear slope-axis for dimension. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, this is a deprecated feature and there is no assurance <br /> of future support. <br /><br /> Arguments Optional: BEGIN, END, and more segments. <br /> SLOPE real scalar. Ratio of change of axis to change of index. <br /> BEGIN real scalar. Axis starting point. <br /> END real scalar. Axis ending point, the last value. <br /><br /> Note. The axis may be divided into multiple segments. <br /> Without a window ISTART, there must be a first BEGIN. <br /> If the slope is used in a dimension with a window, then <br /> the greater of the window's ISTART or the first BEGIN is <br /> used and the lesser of the window's IEND or the last END <br /> is used, assuming positive slope. <br /><br /> Signals. None. <br /> Units... Combined from SLOPE and BEGIN. END units are combined <br /> from the first segment if no BEGIN is applied. <br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Examples. MAKE_SLOPE(3.0) is a constant ratio of 3 axis values <br /> per index step. Axes can be infinite in extent. <br /> A finite axis of MAKE_SLOPE(3,12,21) has data points <br /> [12,15,18,21]. <br /> MAKE_SLOPE(3.0,,10.,4.0,20.0) has points at <br /> ...,4.0,7.0,20.0,24.0,28.0,... . Note that the dead zone <br /> from 10 to 20 is absent and that thus 10.0 becomes 20.0. <br /> Often BEGIN[j+1] is the same as END[j] + SLOPE[j] as in <br /> a clock that does not stop but does change rate. <br /><br />
<span id=""></span> <span id=""></span>
-==LONG_UNSIGNED (A)==+==MAKE_WINDOW ([ISTART],[IEND],[X_AT_0])==
-Conversion Elemental. Convert to long (four-byte) unsigned integer. <br /><br /> Argument. A must be numeric. <br /><br /> Signals. Same as A. <br /> Units... Same as A. <br /> Form.... Long-length unsigned integer of same shape. <br /><br /> Result.. The truncated whole part of A. <br /> Immediate at compilation. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, truncation does not cause an error. <br /><br /> Examples. LONG_UNSIGNED(123) is 123LU. <br /> LONG_UNSIGNED(-1) is 4294967295LU. <br /><br />+MDS Operation. Make a window descriptor for a dimension. <br /><br /> Arguments Optional: ISTART, IEND, X_AT_0. <br /> ISTART integer scalar. First element stored. <br /> IEND integer scalar. Last element stored. <br /> X_AT_0 real scalar. Value at index zero. <br /> The effective defaults are -HUGE(1), +HUGE(1), and zero. <br /> If missing completely, the beginning of the axis is <br /> used for X_AT_0 when evaluating a dimension. <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. MAKE_WINDOW(-1024,7168,MAKE_WITH_UNIT(-0.1,'s')) <br /><br />
<span id=""></span> <span id=""></span>
-==LT (X,Y)==+==MAKE_WITH_UNITS (DATA,UNITS)==
-Logical Elemental. Tests for first less or equal to second. <br /> Usual Forms X &lt; Y, X LT Y. <br /> Function Form LT(X,Y). <br /><br /> Arguments X and Y must both be numeric or character. <br /> Complex numbers are an error. <br /><br /> Signals. Single signal or smaller data. <br /> Units... None unless both have units and they don't match. <br /> Form.... Logical of compatible shape. <br /><br /> Result.. True if X is less than Y; otherwise, false. A reserved <br /> operand is always false. Character are compared in the <br /> processor collating sequence. <br /> &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;WARNING, floating point operations may not match an exact <br /> calculation for nonterminating binary fractions. You <br /> cannot predict that .1+.1&lt;=.2 is true. Integer values <br /> may be truncated when matched to floating numbers. <br /><br /> Example. 2&lt;2.0 is $FALSE. <br />+MDS Operation. Make a describe data with units. <br /><br /> Arguments <br /> DATA any expression that DATA(this) will be valid. <br /> UNITS character string. See the primary section on "Units". <br /><br /> Result.. Class-R descriptor. <br /> Use BUILD_xxx for immediate structure building. <br /> Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables. <br /><br /> Example. _S = MAKE_WITH_UNITS($VALUE*6,'m/s^2') can be used in a <br /> MAKE_SIGNAL(_S,MAKE_WITH_UNITS(5./1024*raw_node,'V') <br /> or similar. Note this could also have been <br /> MAKE_WITH_UNITS(MAKE_SIGNAL($VALUE*6, <br /> MAKE_WITH_UNITS(5./1024*raw_node,'V')),'m/s^2'). <br /><br />
 +|}

Revision as of 21:48, 21 January 2007

MAKE_ACTION (DISPATCH,TASK,[ERRORLOGS],[COMPLETION],[PERFORMANCE])

MDS Operation. Make an action descriptor.

Arguments
DISPATCH dispatch descriptor.
TASK procedure, program, routine, or method descriptor.
ERRORLOGS a character scalar for error reports.
COMPLETION notification list.
PERFORMANCE unsigned long vector of statistics from execution.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. MAKE_ACTION(MAKE_DISPATCH("ident","phase","when",
"completion"),MAKE_ROUTINE(timeout,image,routine))
has only dispatch and task.

MAKE_CALL ([KIND],IMAGE,ROUTINE,[ARG],...)

MDS Operation. Make a call of a routine in a sharable image.
Usual Forms IMAGE->ROUTINE:KIND([ARG],...) or IMAGE->ROUTINE([ARG])

Arguments Optional: KIND, ARG... .
KIND byte unsigned scalar of KIND returned in R0.
Use DSC$K_DTYPE_DSC=24 for a pointer to an XD.
Use DSC$K_DTYPE_MISSING=0 for no information.
Default type is long integer.
Other accepted types are BU WU LU QU OU B W L Q O F D
NID and null-terminated strings T PATH EVENT.
IMAGE character scalar. It must be a simple filename in
SYS$SHARE or a logical name of the file.
ROUTINE character scalar.
ARG... arguments with certain options.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.
Use this form if IMAGE or ROUTINE must be expressions.

Example. MAKE_CALL(24,'TDISHR','TDI$SIND',DESCR(30.)) is
the slow and hard way to do SIND(30.).

See also. CALL for info on argument form and type of output.

MAKE_CONDITION (MODIFIER,CONDITION)

MDS Operation. Make a condition descriptor.

Arguments
MODIFIER word unsigned, evaluated:
TREE$K_NEGATE_CONDITION 7
TREE$K_IGNORE_UNDEFINED 8
TREE$K_IGNORE_STATUS 9
CONDITION MDS event or path.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. None, normally done by COMPILE_DEPENDENCY.

See also. MAKE_DEPENDENCY MAKE_EVENT and COMPILE_DEPENDENCY.

MAKE_CONGLOM (IMAGE,MODEL,NAME,QUALIFIERS)

MDS Operation. Make a conglomerate descriptor.

Arguments
IMAGE character scalar.
MODEL character scalar.
NAME character scalar.
QUALIFIERS long vector, module dependent.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. None, normally done by module add routines.

MAKE_DEPENDENCY (OP_CODE,ARG_1,ARG_2)

MDS Operation. Make a dependency descriptor.

Arguments
OP_CODE word unsigned scalar, evaluated.
TREE$K_DEPENDENCY_AND 10
TREE$K_DEPENDENCY_OR 11
ARG_1 MDS condition, event, or path.
ARG_2 MDS condition, event, or path.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. None, normally done by COMPILE_DEPENDENCY.

See also. MAKE_CONDITION MAKE_EVENT and COMPILE_DEPENDENCY.

MAKE_DIM ([WINDOW],AXIS)

MDS Operation. Make a dimension descriptor.

Arguments Optional: WINDOW.
WINDOW window descriptor.
If missing, all point of AXIS are included and
the initial point of the axis has an index of 0.
AXIS slope or, if defined, other descriptor type.

Signals. None.
Units... From AXIS. Should be same as WINDOW's value_at_idx0.
Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.
The array will have bounds only if the
window has a defined value at index 0.

Example. MAKE_DIM(MAKE_WINDOW(-1,3,10.),MAKE_SLOPE(3.))
makes dimension with value
SET_RANGE(-1..3, [7.,10.,13.,16.,19.]).

MAKE_DISPATCH (TYPE,IDENT,PHASE,WHEN,COMPLETION)

MDS Operation. Make a dispatch descriptor.

Arguments
TYPE byte unsigned scalar, evaluated:
TREE$K_SCHED_ASYNC 1
TREE$K_SCHED_SEQ 2
TREE$K_SCHED_COND 3
IDENT character scalar.
PHASE character scalar.
WHEN character scalar?
COMPLETION character scalar?

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. None, normally done by module add routine.

MAKE_FUNCTION (OPCODE,[ARG],...)

MDS Operation. Make a function descriptor.

Arguments Optional: ARG,... .
OPCODE unsigned word from 0 to the number defined less one.
ARG,... as needed by the function described by OPCODE.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. MAKE_FUNCTION(BUILTIN_OPCODE('SIN'),30) makes an
expression SIN(30).

MAKE_METHOD (TIME_OUT,METHOD,OBJECT,[ARG]...)

MDS Operation. Make a method descriptor.

Arguments Optional: ARG,... .
TIME_OUT real scalar.
METHOD character scalar.
OBJECT character scalar.
ARG,... as needed by METHOD applied to OBJECT.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. None, normally done by module add routine.

MAKE_PARAM (VALUE,HELP,VALIDATION)

MDS Operation. Make a parameter descriptor.

Arguments
VALUE any.
HELP character. Textual information about VALUE.
VALIDATION logical scalar. $VALUE may be used by VALIDATION to
test VALUE without explicit reference to a tree path.
$THIS will give the parameter descriptor itself.
$VALUE and $THIS may only be used within GET_DATA
evaluations of the arguments.
>>>>>>>>>WARNING Use of $THIS and $VALUE may be infinitely recursive.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.
Example. MAKE_PARAM(42.0,'The answer.',
$VALUE > 6 && HELP_OF($THIS) <> "").
DATA(above) is 42.0 and VALIDATION(above) is 1BU.

MAKE_PROCEDURE (TIME_OUT,LANGUAGE,PROCEDURE,[ARG],...)

MDS Operation. Make a procedure call

Arguments Optional: ARG,... .
TIME_OUT real scalar.
LANGUAGE character scalar. The language in which the procedure
is written.
PROCEDURE character scalar.
ARG,... as needed by the procedure.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. None, normally done by module add routine.

MAKE_PROGRAM (TIME_OUT,PROGRAM)

MDS Operation. Make a program call

Arguments
TIME_OUT real scalar.
PROGRAM character scalar. The name of a program to be run.
The program must be responsible for entering its data in
the tree.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. MAKE_PROGRAM(1.2,'MYDISK:MYPROGRAM').

MAKE_RANGE ([START],[END],[DELTA])

MDS Operation. Make a range descriptor.
Usual Form START .. END [.. DELTA] or START : END [: DELTA].

Arguments Optional: DELTA; START and END when used as subscript
limits. See the specific routine; otherwise, required.
START scalar. The starting value.
END scalar. The last value.
DELTA scalar. The increment. Default is one.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.
This uses a data type RANGE, whereas
DTYPE_RANGE(START,END,DELTA) is a function.
On evaluation, the compatible data type.
A vector of length max((END - BEGIN)/DELTA,0) elements.

The first value will be BEGIN and successive values will
differ by DELTA. The last value will not be futher from
BEGIN than END.
>>>>>>>>>WARNING, the number of element cannot always be predicted
for fractional delta, 1:2:.1 may have 10 or 11 elements.
>>>>>>>>>WARNINGS, the colon (:) form may be confused with a tree member
and the dot-dot (..) form is hard to read/understand,
use spaces.

Examples. 2..5 becomes [2,3,4,5] and 2:5:1.8 becomes [2.,3.8].

MAKE_ROUTINE (TIME_OUT,IMAGE,ROUTINE,[ARG],...)

MDS Operation. Make a routine descriptor.

Arguments Optional: ARG,... .
TIME_OUT real scalar.
IMAGE character scalar.
ROUTINE character scalar.
ARG,... as needed by the routine.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. MAKE_ROUTINE(1.2,MYIMAGE,MYROUTINE,5).

MAKE_SIGNAL (DATA,RAW,[DIMENSION,...])

MDS Operation. Make data with dimensions.

Arguments Optional: DIMENSION,... .
DATA any expression. It may include $VALUE for RAW without a
tree reference or $THIS to refer to the whole signal.
$VALUE and $THIS may only be used within GET_DATA
evaluations of the signal.
>>>>>>>>>WARNING Use of $THIS and $VALUE may be infinitely recursive.
RAW any expression. Usually the actual stored integer data.
DIMENSION,... dimension descriptor. The number of dimension
descriptors must match rank of DATA.
>>>>>>>>>WARNING, if the dimension is not of data type dimension, then
subscripting is by index value and not axis value.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example.

  MAKE_SIGNAL(  MAKE_WITH_UNITS( $VALUE*6, 'm/s^2' ), /* the DATA part of the Signal */                 MAKE_WITH_UNITS( 5./1024*[1,2,3], 'V' ), /* the RAW part of the Signal */                 MAKE_DIMENSION( MAKE_WINDOW( 0,2,10. ),                                 MAKE_SLOPE( MAKE_WITH_UNITS(3.,'s') )                               )              )  Here the RAW part of the Signal is referred to in the expression for the DATA part as $VALUE.


MAKE_SLOPE (SLOPE,[BEGIN,[END]]...)

MDS Operation. Make a piece-wise linear slope-axis for dimension.
>>>>>>>>>WARNING, this is a deprecated feature and there is no assurance
of future support.

Arguments Optional: BEGIN, END, and more segments.
SLOPE real scalar. Ratio of change of axis to change of index.
BEGIN real scalar. Axis starting point.
END real scalar. Axis ending point, the last value.

Note. The axis may be divided into multiple segments.
Without a window ISTART, there must be a first BEGIN.
If the slope is used in a dimension with a window, then
the greater of the window's ISTART or the first BEGIN is
used and the lesser of the window's IEND or the last END
is used, assuming positive slope.

Signals. None.
Units... Combined from SLOPE and BEGIN. END units are combined
from the first segment if no BEGIN is applied.
Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Examples. MAKE_SLOPE(3.0) is a constant ratio of 3 axis values
per index step. Axes can be infinite in extent.
A finite axis of MAKE_SLOPE(3,12,21) has data points
[12,15,18,21].
MAKE_SLOPE(3.0,,10.,4.0,20.0) has points at
...,4.0,7.0,20.0,24.0,28.0,... . Note that the dead zone
from 10 to 20 is absent and that thus 10.0 becomes 20.0.
Often BEGIN[j+1] is the same as END[j] + SLOPE[j] as in
a clock that does not stop but does change rate.

MAKE_WINDOW ([ISTART],[IEND],[X_AT_0])

MDS Operation. Make a window descriptor for a dimension.

Arguments Optional: ISTART, IEND, X_AT_0.
ISTART integer scalar. First element stored.
IEND integer scalar. Last element stored.
X_AT_0 real scalar. Value at index zero.
The effective defaults are -HUGE(1), +HUGE(1), and zero.
If missing completely, the beginning of the axis is
used for X_AT_0 when evaluating a dimension.

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. MAKE_WINDOW(-1024,7168,MAKE_WITH_UNIT(-0.1,'s'))

MAKE_WITH_UNITS (DATA,UNITS)

MDS Operation. Make a describe data with units.

Arguments
DATA any expression that DATA(this) will be valid.
UNITS character string. See the primary section on "Units".

Result.. Class-R descriptor.
Use BUILD_xxx for immediate structure building.
Use MAKE_xxx in FUNs for evaluated non-PUBLIC variables.

Example. _S = MAKE_WITH_UNITS($VALUE*6,'m/s^2') can be used in a
MAKE_SIGNAL(_S,MAKE_WITH_UNITS(5./1024*raw_node,'V')
or similar. Note this could also have been
MAKE_WITH_UNITS(MAKE_SIGNAL($VALUE*6,
MAKE_WITH_UNITS(5./1024*raw_node,'V')),'m/s^2').