Documentation:Reference:TDI I1 - MdsWiki
Navigation
Personal tools

From MdsWiki

Jump to: navigation, search

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.