KIND (A)
MDS/VMS Inquiry. Data type of data storage descriptor.
Argument. A may be any descriptor.
Result.. Byte unsigned of the descriptor data type. Descriptor data types (DSC$K_DTYPE_DSC) are removed. Use KIND for data type without NID, PATH, or variable. Use KIND_OF for data type including them.
Examples. KIND(3) is 8 (DSC$K_DTYPE_L) on the VAX. KIND(1.2) is 10 (DSC$K_DTYPE_F) on the VAX. KIND(_X) is the kind of the value in variable _X.
KIND_OF (A)
MDS/VMS Inquiry. Data type of data storage descriptor.
Argument. A may be any descriptor.
Result.. Byte unsigned of the descriptor data type. Descriptor data types (DSC$K_DTYPE_DSC) are removed. Use KIND for data type without NID, PATH, or variable. Use KIND_OF for data type including them.
Examples. KIND_OF(3) is 8 (DSC$K_DTYPE_L) on the VAX. KIND_OF(1.2) is 10 (DSC$K_DTYPE_F) on the VAX. KIND_OF(_X) is 191 (DSC$K_DTYPE_IDENT) on the VAX.
LABEL (NAME,STMT,...)
Modified CC Statement. Label holder for statements. Required Usual Form. LABEL NAME : STMT. Functiom Form LABEL(NAME,STMT,...). May be syntatically invalid.
Arguments NAME character scalar. Should begin with underscore (_). STMT statement, simple or compound (like {S1 S2} or multiple (like S1 S2).
Result.. STMT except ignored in a GOTO that does not match the LABEL. Example. IF (_A > 0) GOTO _XX ... LABEL _XX : ...
LANGUAGE_OF (A)
MDS Operation. Get the language field.
Argument. Descriptor as below.
Result.. A is searched for this: DSC$K_DTYPE_PROCEDURE, the language field. Otherwise, an error.
LASTLOC (MASK,[DIM])
Transformation. Locate the trailing edges of a set of true elements of a logical mask.
Arguments Optional: DIM. MASK logical array. DIM integer scalar from 0 to n-1, where n is rank of MASK.
Signals. Same as MASK. Units... None. Form.... Logical of same shape.
Result. (i) LASTLOC(MASK) has at most one true element. If there is a true value, it is the first in array element order. (ii) LASLOC(MASK,DIM) is found by applying LASTLOC to each of the one-dimensional array sections of MASK that lie parallel to dimension DIM.
Examples. (i) The last array-ordered element LASTLOC(_M=[0 0 1 0]) is [0 0 0 0]. [0 1 1 0] [0 0 0 0] [0 1 0 1] [0 0 0 1] [0 0 0 0] [0 0 0 0] (ii) The right edge LASTLOC(_M,1) is [0 0 1 0]. [0 0 1 0] [0 0 0 1] [0 0 0 0]
LBOUND (ARRAY,[DIM])
F90 Inquiry. All the declared lower bounds of an array or a specified lower bound.
Arguments Optional: DIM. ARRAY any type array. DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
Signals. None. Units... None. Form.... Integer scalar if DIM is present, otherwise, a vector of size n.
Result. (i) LBOUND(ARRAY,DIM) is equal to the lower bound for subscript DIM of ARRAY. If no bounds is declared, the result is 0. (ii) LBOUND(ARRAY) has the j-th component equal to LBOUND(ARRAY,j) for each j, 0 to n-1.
Examples. LBOUND(_A=SET_RANGE(2:3,7:10,0)) is [2,7] and LBOUND(_A,1) is 7.
See also UBOUND for upper bound, SHAPE for number of elements, SIZE for total elements, and E... for signals.
LE (X,Y)
Logical Elemental. Tests for first less than or equal to second. Usual Forms X <= Y, X LE Y. Function Form LE(X,Y).
Arguments X and Y must both be numeric or character. Complex numbers are an error.
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 X is less than or equal to Y; otherwise, false. A reserved operand is always false. Character are compared in the processor collating sequence. >>>>>>>>>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.
LEN (STRING)
F90 Inquiry. The length of a character entity or the number of bytes in numeric data (extension).
Argument. STRING is any type, scalar or array.
Signals. None. Units... None. Form.... Integer scalar.
Result.. The number of characters in STRING if it is scalar or in an element of STRING if it is an array.
Example. LEN('abcdefghijk') is 11.
LEN_TRIM (STRING)
F90 Character Elemental. Length of the character argument without trailing blank or tab characters.
Argument. STRING must be character.
Signals. Same as STRING. Units... None. Form.... Integer of same shape.
Result.. The number of characters after any trailing blanks or tabs are removed. If STRING has no nonblanks other than tabs the result is 0.
Examples. LEN_TRIM(' A B ') is 4 and LEN_TRIM(' ') is 0.
LGE (STRING_A,STRING_B)
F90 Character Elemental. Test whether a string is lexically greater than or equal to another string based on the ASCII collating sequence.
Arguments STRING_A and STRING_B must be character.
Signals. Single signal or smaller data. Units... None, bad if different. Form.... Logical of compatible shape.
Result.. If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string. If either string has a character not in the ASCII character set, the result is processor dependent. The result is true if the strings are equal or if STRING_A follows STRING_B in the collating sequence; otherwise, false.
Example. LGE('ONE','TWO') is $FALSE.
LGT (STRING_A,STRING_B)
F90 Character Elemental. Test whether a string is lexically greater than another string based on the ASCII collating sequence.
Arguments STRING_A and STRING_B must be character.
Signals. Single signal or smaller data. Units... None, bad if different. Form.... Logical of compatible shape.
Result.. If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string. If either string has a character not in the ASCII character set, the result is processor dependent. The result is true if STRING_A follows STRING_B in the collating sequence; otherwise, false.
Example. LGT('ONE','TWO') is $FALSE.
LLE (STRING_A,STRING_B)
F90 Character Elemental. Test whether a string is lexically less than or equal to another string based on the ASCII collating sequence.
Arguments STRING_A and STRING_B must be character.
Signals. Single signal or smaller data. Units... None, bad if different. Form.... Logical of compatible shape.
Result.. If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string. If either string has a character not in the ASCII character set, the result is processor dependent. The result is true if the strings are equal or if STRING_A follows STRING_B in the collating sequence; otherwise, false.
Example. LLE('ONE','TWO') is $TRUE.
LLT (STRING_A,STRING_B)
F90x Character Elemental. Test whether a string is lexically less than another string based on the ASCII collating sequence.
Arguments STRING_A and STRING_B must be character.
Signals. Single signal or smaller data. Units... None, bad if different. Form.... Logical of compatible shape.
Result.. If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string. If either string has a character not in the ASCII character set, the result is processor dependent. The result is true if STRING_A follows STRING_B in the collating sequence; otherwise, false.
Example. LLT('ONE','TWO') is $TRUE.
LOG (X)
F90 Mathematical Elemental. Natural logarithm.
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 log X (base e). A complex result is the principal value with imaginary part in the range -pi to pi. The imaginary part of the result is pi only when the real part of X is less than zero and the imaginary part of X is zero.
Example. LOG(10.0) is 2.302581, approximately.
LOG10 (X)
F90 Mathematical Elemental. Common logarithm.
Argument. X must be real. Complex numbers are an error.
Signals. Same as X. Units... None, bad if X has units. Form.... Same as X.
Result.. Processor approximation to log X (base 10).
Example. LOG10(10.0) is 1.0 approximately.
LOG2 (X)
Mathematical Elemental. Logarithm, base 2.
Argument. X must be real. Complex numbers are an error.
Signals. Same as X. Units... None, bad if X has units. Form.... Same as X.
Result.. Processor approximation to log X (base 2).
Example. LOG2(8.0) is 3.0 approximately.
LOGICAL (A,[KIND])
Conversion Elemental. Convert to a logical. True is 1BU, False is 0BU.
Argument. Optional: KIND. A integer. KIND scalar integer type number, for example, KIND($TRUE). (Today, there is only one logical type.)
Signals. Same as A. Units... Same as A. Form.... Logical (byte_unsigned) of same shape.
Result.. True if lowest bit of converted integer is on. >>>>>>>>>WARNING, truncation does not cause an error.
Example. LOGICAL(_L OR NOT _L) is $TRUE.
LONG (A)
Conversion Elemental. Convert to long (four-byte) integer.
Argument. A must be numeric.
Signals. Same as A. Units... Same as A. Form.... Long-length integer of same shape.
Result.. The truncated whole part of A. Immediate at compilation. >>>>>>>>>WARNING, truncation does not cause an error.
Examples. LONG(123.4) is 123.
LONG_UNSIGNED (A)
Conversion Elemental. Convert to long (four-byte) unsigned integer.
Argument. A must be numeric.
Signals. Same as A. Units... Same as A. Form.... Long-length unsigned integer of same shape.
Result.. The truncated whole part of A. Immediate at compilation. >>>>>>>>>WARNING, truncation does not cause an error.
Examples. LONG_UNSIGNED(123) is 123LU. LONG_UNSIGNED(-1) is 4294967295LU.
LT (X,Y)
Logical Elemental. Tests for first less or equal to second. Usual Forms X < Y, X LT Y. Function Form LT(X,Y).
Arguments X and Y must both be numeric or character. Complex numbers are an error.
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 X is less than Y; otherwise, false. A reserved operand is always false. Character are compared in the processor collating sequence. >>>>>>>>>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 $FALSE.
|