F90 Character Elemental.
The position of a character in the ASCII
collating sequence.
Argument. C must be a length-one character.
Signals. Same as C.
Units... Same as C.
Form.... Byte unsigned of same shape.
Result.. The position of C in the ASCII collating sequence, where
0<=IACHAR(C)<=127; otherwise, a processor value. If
LLE(C,D) is true then IACHAR(C)<=IACHAR(D) for all
represented characters.
See also. ICHAR and the inverses ACHAR and CHAR.
Example. IACHAR('X') is 88BU.
IAND (I,J)
F90 Bit-wise Elemental.
Bit-by-bit intersection.
Usual Form I & J.
Function Form IAND(I,J).
Arguments I and J must be integers.
Signals. Single signal or smaller data.
Units... Single or common units, else bad.
Form.... Unsigned integer of compatible shape.
Result.. True for each bit true in I and J; otherwise, false.
Example. IAND(3,5) is 1.
IAND_NOT (I,J)
Bit-wise Elemental.
Bit-by-bit intersection with the J complemented.
Arguments I and J must be integers.
Signals. Single signal or smaller data.
Units... Single or common units, else bad.
Form.... Unsigned integer of compatible shape.
Result.. True for each bit of I true and of J false; otherwise,
false.
Example. IAND_NOT(3,5) is 2.
IBCLR (I,POS)
F90 Bit-wise Elemental.
Clear one bit to zero.
Arguments
I any. F90 requires integer.
POS integer offset within the element of I, must be
nonnegative and less than BIT_SIZE(I).
Signals. Same as I.
Units... Same as I.
Form.... Same type as I, compatible shape.
Result.. Same as I with bit at offset POS cleared.
Examples. IBCLR(14, 1) is 12.
IBCLR(31,[1,2,3,4]) is [29,27,23,15].
See also. IBSET to set, IBITS to extract, and BTEST to test.
IBSET (I,BIT)
Bit-wise Elemental.
Set a bit to one.
Arguments
I any. F90 requires integer.
BIT integer offset within the element of I. Must be
nonnegative and less than BIT_SIZE(I).
Signals. Same as I.
Units... Same as I.
Form.... Same type as I, compatible shape.
Result.. Same as I with bit at offset BIT set.
Examples. IBSET(12,1) is 14.
IBSET(0,[1,2,3,4]) is [2,4,8,16].
See also. IBCLR to clear, IBITS to extract, and BTEST to test.
ICHAR (C)
F90 Character Elemental.
The position of a character in the
processor collating sequence.
Argument. C must be a length-one character.
Signals. Same as C.
Units... Same as C.
Form.... Byte unsigned of same shape.
Result.. The position of C in the processor collating sequence
and is in the range 0<=ICHAR(C)
IDENT_OF (A)
MDS Operation.
Get the ident field.
Argument. Descriptor as below.
Result.. DISPATCH_OF(A) is searched for this:
DSC$K_DTYPE_DISPATCH, the ident field.
Otherwise, an error.
IEOR (I,J)
F90 Bit-wise Elemental.
Bit-by-bit exclusive-OR.
Arguments I and J must be integers.
Signals. Single signal or smaller data.
Units... Single or common units, else bad.
Form.... Unsigned integer of compatible shape.
Result.. True for exactly one bit of I and J true;
otherwise, false.
Example. IEOR(1,3) is 2.
IEOR_NOT (I,J)
F90 Bit-wise Elemental. Bit-by-bit exclusive-OR with the second
complemented. Equivalent to INOT(IEOR(I,J)).
Arguments I and J must be integers.
Signals. Single signal or smaller data.
Units... Single or common units, else bad.
Form.... Unsigned integer of compatible shape.
Result.. False for each bit of I equal to that bit of J;
otherwise, true.
Example. IEOR_NOT(1bu,3bu) in binary is 0B11111101BU
IF (TEST,STMT,[ELSESTMT])
CC Statement.
Do statement if expression true, else possibly do another.
Required Usual Forms. IF (TEST) STMT, IF (TEST) STMT ELSE ELSESTMT.
Function Form. IF(TEST,STMT,[ELSESTMT]). May be syntatically invalid.
Arguments Optional: ELSESTMT.
TEST logical scalar.
STMT statement, simple or {brace enclosed}.
ELSESTMT statement, simple or {brace enclosed}.
Result.. None.
Example. IF (_A) _B=2; ELSE _B=3;.
IF_ERROR (A,B,...)
Miscellaneous.
Evaluate arguments until no error.
Arguments Are any expressions.
Result.. That of the first expression without an error. If all
have errors, the result is the final error.
Example. IF_ERROR(_A EQ _B, _A, _B) gives the expression if _A
and _B are defined or the one defined; else an error.
IMAGE_OF (A)
MDS Operation.
Get the image field.
Argument. Descriptor as below.
Result.. A is searched for these:
DSC$K_DTYPE_CALL, the image field.
DSC$K_DTYPE_CONGLOM, the image field.
DSC$K_DTYPE_ROUTINE, the image field.
Otherwise, an error.
INAND (I,J)
Bit-wise Elemental.
Complement of bit-by-bit intersection.
Arguments I and J must be integers.
Signals. Single signal or smaller data.
Units... Single or common units, else bad.
Form.... Unsigned integer of compatible shape.
Result.. False for each bit true in I and J; otherwise, true.
Example. INAND(3BU,5BU) in binary is 0B111111110BU.
INAND_NOT (I,J)
Bit-wise Elemental.
Complement of bit-by-bit intersection with the
second complemented. Equivalant to IOR(INOT(I),J).
Arguments I and J must be integers.
Signals. Single signal or smaller data.
Units... Single or common units, else bad.
Form.... Unsigned integer of compatible shape.
Result.. False for each bit of I true and of J false; otherwise,
true.
Example. INAND_NOT(3WU,5WU) in binary is 0B11111101BU.
INDEX (STRING,SUBSTRING,[BACK])
F90 Character Elemental.
The starting position of a substring within
a string. Note the result is 1 less than for F90.
Arguments Optional: BACK
STRING character.
SUBSTRING character.
BACK logical.
Signals. Single signal or smallest data.
Units... Same as STRING.
Form.... Integer of compatible shape.
Result.
(i) If BACK is absent or is false, the minimum value j such
that STRING(j:j+LEN(SUBSTRING-1)==SUBSTRING or -1 if
there is no such value.
For LEN(STRING) < LEN(SUBSTRING), the result is -1
and for LEN(SUBSTRING) = 0, the result is 0.
(ii) If BACK present and true, the maximum value j as above
or -1 if there is no such value.
For LEN(STRING) < LEN(SUBSTRING), the result is -1
and for LEN(SUBSTRING) = 0, the result is 0.
Examples. INDEX('FORTRAN','R') is 2.
INDEX('FORTRAN','R',$TRUE) is 4.