IACHAR (C)
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.
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.
ibits (I,POS,LEN)
F90 Bit-wise Elemental. Extract a sequence of bits. ??
Arguments I integer. POS integer offset within the element of I. LEN integer length of bit field in I. F90 says POS + LEN must be less than or equal to BIT_SIZE(I).
Signals. Same as I. Units... Same as I. Form.... Same type as I but no longer than LONG, compatible shape.
Result.. The LEN bits starting at POS from beginning of I.
Example. IBITS(14,1,3) is 7.
See also. IBCLR to clear, IBSET to set, 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) of characters in the collating sequence. If C LE D is true, then IACHAR(C)<=IACHAR(D) for all represented characters. C EQ D only if ICHAR(C) EQ ICHAR(D).
Example. ICHAR('X') is 88BU on the VAX.
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.. True for each bit of I equal to that bit of J; otherwise, false.
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.
|