ELBOUND (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, those of combined dimensions if signal. Form.... Scalar if DIM present, otherwise, vector of size n. Integer for an array; combined type of dimensions for a signal.
Result.. ELBOUND(ARRAY,DIM) is equal to the lower bound for subscript DIM of ARRAY. If no bounds were effective it is 0. ELBOUND(ARRAY) is whose j-th component is equal to ELBOUND(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.
Examples. ELBOUND(_A=SET_RANGE(2:3,7:10,0)) is [2,7] and ELBOUND(_A,1) is 7.
See also UBOUND for upper bound, SHAPE for number of elements, SIZE for total elements, and E... for signals.
ELEMENT (NUMBER,DELIMITER,STRING)
DCL Character Elemental. Extracts an element from a string in which the elements are separated by a delimiter character.
Arguments NUMBER integer. First item is NUMBER=0. DELIMITER character, length one. STRING character.
Signals. Same as STRING. Units... Same as STRING. Form.... Character of same length as STRING. Compatible shape. >>>>>>>>>WARNING, the DCL function trims the result, not so here. It may be trimmed, someday for scalars only.
Result.. The string from the NUMBER-th instance of the delimiter to the next instance or the end of string. NUMBER=0 gets the part of the string up to the first delimiter. A blank string is returned if NUMBER-th not found.
Examples. ELEMENT(1,'/','A/B/C') is "B ". ELEMENT(4,'/','12') is " ".
ELSE STMT
CC-style Operation. Alternative to IF.
elsewhere STMT
CC-style Operation. Alternative to WHERE.
encode (FMT|*,[X],...)
Miscellaneous. Format values to text.??
endfile (UNIT)
F90 IO. Mark end of file.??
END_OF (A,[N])
MDS Operation. Get the end field.
Arguments Optional: N. A Descriptor as below. N integer scalar, for slopes from 0 to the number of segments less two. The last segment has no end if the axis is infinite.
Result.. A is searched for these: DSC$K_DTYPE_RANGE, the end field. DSC$K_DTYPE_SLOPE, N-th segment's end field. !deprecated! DSC$K_DTYPE_WINDOW, the endidx field. Otherwise, an error.
Example. END_OF(1..10) is 10.
eoshift (ARRAY,SHIFT,[BOUNDARY],[DIM])
F90 Transformation. Perform an end-off shift on an array expression of rank one or perform end-off shifts on all the complete rank-one sections along a given dimension of an expression of rank two or greater.
Arguments Optional: BOUNDARY, DIM. ARRAY numeric or character array. SHIFT integer scalar if ARRAY is rank 1; otherwise, an integer array of rank n-1 array of shape like ARRAY with DIM dimension omitted. BOUNDARY same type as ARRAY and must be scalar if ARRAY is rank one; otherwise, a scalar or rank n-1 array shaped like ARRAY without dimension DIM. Default value is 0 for numerics and blanks for text. DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
Signals. Same as ARRAY. Units... Same as ARRAY. Form.... Same as ARRAY.
Result.. Element [s0,s1,...sn-1] of the result is ARRAY[s0,s1,...sDIM-1,sDIM + sh,sDIM+1,... sn-1] provided sDIM + sh is bounded by LBOUND(ARRAY,DIM) and UBOUND(ARRAY,DIM), else BOUNDARY or BOUNDARY[s0,...sDIM-1,sDIM,...).
Examples. (i) EOSHIFT(_V=[1,2,3,4,5,6],3) is [4,5,6,0,0,0]. EOSHIFT(_V,-2,99) is [99,99,1,2,3,4]. (ii) EOSHIFT(_M=[A B C],-1,'*',1) is [* A B]. [D E F] [* D E] [G H I] [* G H] EOSHIFT(_M,1,['*','/','?'],[-1,1,0]) is [* A B]. [E F /] [G H I]
EPSILON (X)
F90 Inquiry. A positive model number that is almost negligible compared to unity in the model representing numbers of the same type as the argument.
Argument. X must be real or complex, scalar or array.
Signals. Same as X. Units... Same as X. Form.... Scalar of same type as real part of X.
Result.. The result is b^(1-p), where b is the digit base and p is the number of digits in model numbers like X.
Example. EPSILON(1.0) is 2^-23 on the VAX.
EQ (X,Y)
Logical Elemental. Tests for equality of two values. Usual Forms X Y, X NE Y. Function Form EQ(X,Y).
Arguments X and Y must both be numeric or character.
Signals. Single signal or smaller data. Units... None unless both have units and they don't match. Form.... Logical of same shape.
Result.. True if X and Y are the equal; otherwise, false. $ROPRAND is not equal to any value. >>>>>>>>>WARNING, floating point operations may not match an exact calculation for nonterminating binary fractions. You cannot predict that .1+.1==.2 is true. Integer values may be truncated when matched to floating numbers.
Example. 2==2.0 is $TRUE.
EQUALS (NAME,X)
Variable Operation. Store in a name variable. Usual Form NAME = X. Function Form EQUALS(NAME,X).
Arguments NAME variable name optionally preceded by PRIVATE or PUBLIC. Begin name with underscore (_) for user variables. Dollar sign ($) is used for system variables. A text string but not an expression is acceptable. X an expression of any type.
Result.. Same as X.
Side Effect. NAME now has value X.
Example. _A=[1,2,3].
EQUALS_FIRST (X)
Variable Elemental. Store in a name variable using variable in binary operation. This saves writing the variable name twice. Usual Forms NAME^=Y, NAME*=Y, NAME/ =Y, NAME MOD=Y, NAME+=Y, NAME-=Y, NAME<<=Y, NAME>>=Y, NAME//=Y, NAME IS_IN=Y, NAME>==Y, NAME GE=Y, NAME> =Y, NAME GT=Y, NAME<==Y, NAME LE=Y, NAME< =Y, NAME LT=Y, NAME===Y, NAME EQ=Y, NAME!==Y, NAME/==Y, NAME<>=Y, NAME NE=Y, NAME&=Y, NAME|=Y, NAME EQV=Y, NAME NEQV=Y, NAME&&=Y, NAME AND=Y, NAME AND_NOT=Y, NAME NAND=Y, NAME NAND_NOT=Y, NAME||=Y, NAME OR=Y, NAME OR_NOT=Y, NAME NOR=Y, NAME NOR_NOT=Y, NAME@=Y.
Arguments X an expression with a binary (two-argument) operator. The first argument must be a variable name, like in NAME+6. Only those listed above are acceptable to the compiler. >>>>>>>>>WARNING, special punctuation is required for /, >, and < because they may be confused with single operators /=, >=, and <=.
Result.. Same as X.
Side Effect. NAME now has value X or X operated on by Y.
Example. For _A=[1,2,3], _A+=4 is [5,6,7].
EQV (L,M)
Logical Elemental. Test that logical values are equal.
Arguments L and M must be logical (lowest bit is 1 for true).
Signals. Single signal or smaller data. Units... None unless both have units and they don't match. Form.... Logical of compatible shape.
Result.. True if both are true or both are false; otherwise, false.
Example. 2>3 EQV 3>4 is $TRUE.
|