ERRORLOGS_OF (A)
MDS Operation. Get the errorlogs field.
Argument. Descriptor as below.
Result.. A is searched for this: DSC$K_DTYPE_ACTION, the errorlogs field. Otherwise, an error.
ESHAPE (SOURCE,[DIM])
Inquiry. The shape of an array or a scalar or a signal.
Arguments Optional: DIM (To follow F90, use ESIZE with a DIM). SOURCE any type scalar, array, or signal. DIM integer scalar from 0 to n-1, where n is rank of SOURCE.
Signals. None. Units... None if array, that of combined dimensions of signal. Form.... Scalar if DIM present; otherwise, vector of size n. Integer for an array, combined type of dimensions for a signal.
Result.. The shape of SOURCE for subscript DIM of SOURCE. If no bounds were effective it is one less than the multiplier for subscript DIM of SOURCE. ESHAPE(ARRAY) has value whose j-th component is equal to ESHAPE(ARRAY,j) for each j, 0 to n-1. For a signal, the extent of the dimension if it is of DTYPE_DIMENSION, else as for an array. This does not include both bounds for integers.
Examples. ESHAPE(_A[2:5,-1:1]) is [4,3]. ESHAPE(3) is [], a zero-length vector.
ESIZE (ARRAY,[DIM])
Inquiry. The extent an array or the total number of elements in the array or signal.
Arguments Optional: DIM. ARRAY any type array or signal. DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
Signals. None. Units... None. Form.... Scalar. Integer for array, combined type of dimensions for signal.
Result.. Equal to the extent of dimension DIM of ARRAY or, if DIM is absent, the total number of elements of ARRAY. For a signal, the extent of the dimension if it is of DTYPE_DIMENSION, else as for an array. This does not include both bounds for integers. The volume if no DIM.
Examples. ESIZE(_A[2:5,-1:1]),1) is 3. ESIZE(_A[2:5,-1:1]) is 12.
EUBOUND (ARRAY,[DIM])
Inquiry. All the lower bounds of an array or signal or a specified lower bound.
Arguments Optional: DIM. ARRAY any type array or signal. DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
Signals. None. Units... None if array, that of combined dimensions of signal. Form.... Scalar if DIM present; otherwise, vector of size n. Integer for an array, combined type of dimensions for a signal.
Result.. EUBOUND(ARRAY,DIM) is equal to the lower bound for subscript DIM of ARRAY. If no bounds were effective it is one less than the multiplier for subscript DIM of ARRAY. EUBOUND(ARRAY) has value whose j-th component is equal to EUBOUND(ARRAY,j) for each j, 0 to n-1. For a signal, the lower bound on the dimension if it is of DTYPE_DIMENSION, else as for an array.
Example. EUBOUND(_A=SET_RANGE(2:3,7:10,0)) is [3,10] and EUBOUND(_A,1) is 10.
EVALUATE (X)
Compile Operation. Remove descriptors and node (NID and PATH) pointers and evaluate functions. Common Usual Form. `expression or `statement for compile-time evaluation. >>>>>>>>>WARNING, because of its low precedence, parentheses must be outside the ` to constrain it unlike the other operators.
Argument. X is any MDS or VMS data description. VMS and most MDS data types are passed. A NID or PATH is found in the current tree and re-evaluated. FUNCTION data types are executed and their result returned but not re-evaluated.
Signals. None. Units... None. Form.... A data descriptor.
Result.. Depends on the expression to be evaluated.
Examples. EVALUATE(2+3) is 5. (`2+3)+4 compiles to 5+4, which will evaluate to 9.
EXECUTE (STRING,[ARG],...)
Compile Operation. Convert a text string into a functional form of the expression with the possibility of including other descriptors. Comments (/* ... */) are removed and may be nested. Then EVALUATE the expression.
Arguments Optional: ARG,... . STRING character scalar. ARG,... other expressions that may be accessed as $k where k runs from 1 to the number of additional arguments. Successive arguments may be accessed by $ starting from the first. Once $k appears, subsequent $'s designates the arguments following it. The $k allows inputs to be used several times but k must be less than the number of arguments actual passed, maximum 253. $0 is STRING.
Signals. None. Units... None. Form.... An MDS expression in functional form.
Result.. The compiled and evaluated value of the string with the current values of the arguments.
Example. EXECUTE("2+\TOP.XRAY.CHAN01:DATA") is two more than the data of a channel.
EXP (X)
F90 Mathematical Elemental. Exponential.
Argument. X must be real or complex, HC is converted to GC.
Signals. Same as X. Units... None, bad if X has units. Form.... Same as X.
Result.. Processor approximation to e^X. If X is complex, the imaginary part is in radians.
Example. EXP(1.0) is 2.7182818, approximately.
EXPONENT (X)
F90 Numeric Elemental. The exponent part of the argument when represented as a model number.
Argument. X must be real. Complex type is an error.
Signals. Same as X. Units... None, bad if X has units. Form.... Integer of same shape.
Result.. The exponent or the model representation with bias removed, provide X is nonzero. For zero, result is zero.
Examples. Exponent(1.0) is 1 and EXPONENT(4.1) is 3 on the VAX.
EXTEND (A,[DIM],[X])
MDS Operation. Removes values not in bounds.
Arguments Optional: DIM and X. A MDS signal or dimension or VMS array. DIM scalar integer from 0 to rank of A less one. Must be 0 or absent for a signal. X non-complex scalar or array of numbers to check if bounded. Signals. Same as X. Units... Same as specified dimension if a signal or dimension. Form.... Shape of X and type from specified dimension.
Result.. X values that are out of range are replaced by the nearer limit. (i) If A is an array, the bounds of the array are used. (ii) If A is a dimension or the specified dimension of a signal, the extreme data value of the axis are used.
Examples. (i) EXTEND(1..5,,0..7) is [1,1,2,3,4,5,5,5]. (ii) EXTEND(BUILD_DIM(BUILD_WINDOW(2,5,1.1), BUILD_RANGE(,,3)),0,5..8) is [7.1,7.1,8.] because the limits are 7.1 and 16.1.
See also. CULL to eliminate bad values.
EXTRACT (START,LENGTH,STRING)
DCL Character Elemental. Extracts an substring from a string starting at an offset.
Arguments START integer. LENGTH integer. STRING character.
Signals. Same as STRING. Units... Same as STRING. Form.... Character of given length but not less than 0. Compatible shape. Result.. The string from the START-th character (counting from 0) and of LENGTH count is returned. A null string (length is zero) may be returned.
Examples. EXTRACT(1,2,'A/B/C') is "/B". EXTRACT(4,1,'12') is " ".
EXT_FUNCTION ([IMAGE],ROUTINE,[ARG],...)
IO. Do a FUN, do a routine in an image, or do a command file. Usual Form xxx->yyy(arg...) or _zzz(arg...)
Methods. (1) no IMAGE and ROUTINE is a defined function. (2) IMAGE and ROUTINE define an .EXE image with symbol table and an entry point routine. (3) IMAGE with .FUN extension default and IMAGE filename define a file of TDISHR commands.
(1) Arguments Optional: ARG,... IMAGE *, a missing argument. ROUTINE Character scalar FUN name previously defined. ARG As needed by the routine.
Result.. As defined by the function.
(2) Arguments Optional: IMAGE, ARG,... IMAGE Character scalar filename or *, default MDS$FUNCTIONS. ROUTINE Character scalar entry point name. ARG As needed by the routine. The forms DESCR, REF, and VAL force passing by descriptor, reference, or long value. These force the DATA of the argument to be evaluated. The default is to pass by whatever descriptor is generated.
Result.. Function is called like a TDISHR one, i.e., augmented by the output descriptor function. (3) Arguments Optional: IMAGE, ARG,... IMAGE Character scalar directory name or *, default MDS$PATH. >>>>>>>>>WARNING, usually MDS$PATH should point the local directory first. ROUTINE Character scalar filename. ARG Allowed only for a defining FUN. As needed by the routine. >>>>>>>>>WARNING, You must pick a non-conflicting name. The easiest way is to begin both FUN and filename with an underscore (_).
Result.. The entire file is read (limit 16k bytes) and it is executed. If the compilation was a FUN and IMAGE is missing, the FUN is invoked with arguments. NOTE, The second time around this will use method (1). The result is the last expression evaluated or the returned value of the function.
Examples If MDS$PATH is [] and file _FTEST.FUN has: FUN PUBLIC _FTEST(OPTIONAL IN _X) { IF (PRESENT(_X)) WRITE(*,'_x =',_X); ELSE WRITE(*,'no argument'); }
_FTEST(123) returns 17 and prints on the terminal: _x = 123
If file _OUTER.FUN has: FUN PUBLIC _OUTER(IN _A, IN _B) { RETURN (SPREAD(_A, 0, SIZE(_B)) * SPREAD(_B, 1, SIZE(_A))); }
_OUTER([1,2,3],[4,5]) is the outer product: [[4,5], [8,10], [12,15]].
|