MDS Operation. Removes signal and parameter descriptors and evaluates ranges and tries to give a VMS data type. Argument. X may be any data type with a data/value field. Signals. None. Units... None unless X is AS_IS. Form.... VMS scalar or array. Result.. For a dimension, the axis values. For a signal or with_units, the evaluated data field. For a param, the evaluated value field. For a range, the values. For VMS data, no change is made. Immediate at compilation. Example. DATA(BUILD_SIGNAL(42.*$VALUE,6)) is 252.DATA_WITH_UNITS (X)
MDS Operation. Removes signal and parameter descriptors and evaluates ranges and tries to give a VMS data type bound in a with_units descriptor. Argument. X may be any data type with a data/value field. Signals. None. Units... Same as X. Form.... With_units descriptor with a VMS scalar or array data field. The units pointer may be null or point to a standard units data (today, text). Result.. For a dimension, the axis values. For a signal or with_units, the evaluated data field. For a param, the evaluated value field. For a range, the values. For VMS data, no change is made. The result has a data field and if there are units the units descriptor with the first units found. Immediate at compilation. Example. DATA_WITH_UNITS(BUILD_SIGNAL(42.*$VALUE, BUILD_WITH_UNITS(6,'count'//'s')) is Build_With_Units(252,'counts').DATE_TIME ([TIME])
VMS IO. The current/specified data and time as a text string. Arguments Optional TIME must be a quadword (64-bit) positive absolute time or negative delta time. Signals. None. Units... None. Form.... Character scalar of length 23. Result.. The current date and time. Example. DATE_TIME() might be 26-JAN-1990 15:15:19.54.DBLE (A)
F90 Modified Conversion Elemental. Double the precision of a number. Argument. A must be numeric and must not be octaword or H floating because they are maximum precision. Signals. Same as A. Units... Same as A. Form.... Twice the precision of the argument. Byte becomes word, word becomes long, long becomes quadword, quadword becomes octaword, F floating becomes D, D or G floating becomes H. Unsigned, signed, real, and complex types remain so. >>>>>>WARNING F90 always converts to a double-precision real--D_FLOAT. Examples. DBLE(3) is 3Q. DBLE(3.0) is 3D0.DEALLOCATE ([STRING],...)
Variables. Release variables by wildcarded name or release all private variables. Arguments Optional: STRING.... STRING,... character scalars. Wildcards % and * are allowed. If STRING is absent, all private variables are released. Result.. None. Side Effect. The variable is no longer allocated. Example. DEALLOCATE("_A*") removes all starting with _A.DEBUG (OPTION)
Compile Operation. Controls debugging output. Argument. OPTION is integer scalar. OPTION = 1, "prepends" the first error message text. OPTION = 2, prints the error message. OPTION = 4, clears the error message and status. OPTION is the bitwise combination of these codes. Signals. None. Units... None. Form.... Character string scalar. Result.. Previous value of debugging messages. An empty string is returned if no error was detected. Example. DEBUG(7) appends the first detected error's text, prints the message, and frees the message string. DEBUG(5) can fetch and clear the error string.DECOMPILE (X,[MAX])
Compile Operation. Converts the argument expression to text that will compile to the same expression. Arguments Optional: MAX. X any MDS or VMS data description. MAX Integer scalar for the maximum number of vector elements to display. Default is all. Signals. None. Units... None. Form.... Character scalar. Length limit is 65535. Result.. The text, less comments, that could make the argument. Example. DECOMPILE('_A+\TOP.XRAY.CHAN01:DATA/*my expression*/') is _A + \TOP.XRAY.CHAN01:DATA. Some forms are converted to the most common one: 'CONCAT(_B,"X")' will be _B // "X". Control characters, double quotes, and backslashes (\) are converted to their backslash form.DECOMPILE_DEPENDENCY (X)
Compile Operation. Converts the dependency expression to text that will compile to the same expression. Argument. X must be from the restricted class of MDS descriptors: node identifiers, pathnames, events, dependencies, and conditions. Immediate at compilation. Result.. Character scalar. See also. COMPILE_DEPENDENCY to create the expression.DECOMPRESS (IMAGE,ROUTINE,SHAPE,DATA)
Miscellaneous. Expand compressed data into original form. Arguments Optional: IMAGE, ROUTINE. IMAGE character scalar of SYS$SHARE:.EXE file or logical name. Default is MDSSHR if no ROUTINE. ROUTINE character scalar of entry point name in shared image. Default is MDS$DECOMPRESS SHAPE Expanded form data shape. DATA A vector of any type that has the compressed data. Signals. None. Units... None. Form.... Original form, usually. Result.. The original data. This is done automatically when compressed, CLASS_CA, data is fetched from the tree. Example. DECOMPRESS(,,BUILD_ARRAY(10), [0x00880246, 0x84620800LU, 0x4befcb4e, 0x080a]) gives [0,164,228,252,256,250,238,224,207,190]. (Actually this does not save enough space so the compression would not take place.)DEFAULT (STMT,...)
CC Statement. Required Usual Form. CASE DEFAULT STMT. Function Form DEFAULT(STMT,...). May be syntatically invalid. Argument. STMT must be a statement, simple or compound (like {S1 S2}) or multiple (like S1 S2). >>>>>>WARNING, only one CASE DEFAULT should appear in a SWITCH. Result.. None. Example. SWITCH (_k) { CASE (1) _j=_THING1; BREAK; CASE (4.5:5.5) _j=_OTHER_THING; BREAK; CASE DEFAULT ABORT(); }.DIAGONAL (ARRAY,[FILL])
Transformation. Create a diagonal matrix from its diagonal. Arguments Optional: FILL. ARRAY numeric or character vector. FILL scalar converted to type of ARRAY. Default is numeric 0 or character blanks. Signals. Same as ARRAY. Units... Same as ARRAY. Form.... Rank-two of shape [n,n], where n is the size of ARRAY. Result.. Element [j,j] is ARRAY[j], for j from 0 to n-1. All other elements are FILL. Example. DIAGONAL([1,2,3]) is [1 0 0]. [0 2 0] [0 0 3]