Bit-wise Elemental.
Complement of bit-by-bit union.
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 either bit true in I and J; otherwise, true.
Example. INOR(3BU,5BU) in binary is 0B11111000BU.
INOR_NOT (I,J)
Bit-wise Elemental.
Complement of bit-by-bit union with the
second complemented. Equivalant to IAND(NOT(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 or of J false; otherwise,
true.
Example. INOR_NOT(3BU,5BU) in binary is 0B00000100BU.
INOT (J)
Bit-wise Elemental.
Complement bit-by-bit the argument.
Usual Form ~ J.
Function Form INOT(J).
Argument. J must be integer.
Signals. Same as J.
Units... Same as J.
Form.... Unsigned integer of same shape.
Result.. Each binary bit is negated.
>>>>>>>>>WARNING, F90 calls this NOT, we cannot.
Example. INOT(5BU) in binary is 0B11111010.
INT (A)
Conversion Elemental.
Convert to integer.
Arguments A must numeric.
Signals. Same as A.
Units... Same as A.
Form.... The integer type with the same length.
Result.. Immediate at compilation.
(i) A is integer or real, the result is the truncated
approximation to the low-order part of the integer.
(ii) A is complex, the result is the approximation to the
real part.
>>>>>>>>>WARNING, truncation does not cause an error.
Example. INT(2.783) is 2.
INTERRUPT_OF (A)
MDS Operation.
Get the interrupt field.
Argument. Descriptor as below.
Result.. DISPATCH_OF(A) is searched for this:
DSC$K_DTYPE_DISPATCH, the interrupt field.
The dispatch qualifier must be TREE$K_SCHED_ASYNC
and the result must evaluate to text DSC$K_DTYPE_T.
Otherwise, an error.
INT_UNSIGNED (A)
Conversion Elemental.
Convert to unsigned integer.
Arguments A must numeric.
Signals. Same as A.
Units... Same as A.
Form.... The integer type with the same length. To get specific
unsigned integer types use BYTE_UNSIGNED, WORD_UNSIGNED,
LONG_UNSIGNED, QUADWORD_UNSIGNED, or OCTAWORD_UNSIGNED.
Result.. Immediate at compilation.
(i) A is integer or real, the result is the truncated
approximation to the low-order part of the integer.
(ii) A is complex, the result is the approximation to the
real part.
>>>>>>>>>WARNING, truncation does not cause an error.
Example. INT_UNSIGNED(2.783) is 2LU.
IOR (I,J)
F90 Bit-wise Elemental.
Bit-by-bit inclusive OR.
Usual Form I | J.
Function Form IOR(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 either bit true in I and J; otherwise, false.
Example. IOR(1,3) is 3.
IOR_NOT (I,J)
Bit-wise Elemental.
Bit-by-bit union with the second 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 or of J false; otherwise,
false.
Example. IOR_NOT(3BU,5BU) in binary is 0B11111011BU
ISHFT (I,SHIFT)
F90 Numeric Elemental.
Logical shift of an element.
Arguments
I must be integer. Octaword is not supported.
SHIFT must be integer. The low byte is used.
Signals. Single signal or smaller data.
Units... Same as I.
Form.... Type of I, compatible shape of all.
Result.. The bits of I shifted SHIFT positions left if positive
or -SHIFT positions right for SHIFT negative. The
vacated bits are cleared.
Example. ISHFT(3,1) is 6.
I_TO_X (DIMENSION,[I])
MDS Transform Elemental.
Convert index into axis values.
Arguments Optional I.
DIMENSION a dimension with optional window and required axis.
If DIMENSION is missing, the unchanged I is returned.
If the window of DIMENSION is missing, the first
axis point is assigned an index of 0.
I scalar or array list of axis integer-like values.
(For TDI$I_TO_X, the fake address of -1 for I,
returns a 2-element vector with the axis bounds.)
Signals. Same as I.
Units... Same as axis of DIMENSION.
Form.... Same type as DATA(axis). Same shape as I.
Result.. The window and axis are evaluated for each index point.
Although the window start and end indices may be used
to determine the value of axis points, they do not
limit the range of results.
Examples. I_TO_X(BUILD_DIM(BUILD_WINDOW(2,5,1.1),BUILD_RANGE(,,
3))) is Set_Range(2:5,[7.1,10.1,13.1,16.1]).
I_TO_X(BUILD_DIM(BUILD_WINDOW(2,7,1.1),BUILD_RANGE(,,
3)),1..4) is Set_Range(1:4,[4.1,7.1,10.1,13.1]).
The index 1 (axis point 4.1) is outside the valid
window of 2 to 7.
See also. CULL and EXTEND to discard or limit axis points.
X_TO_I for the inverse transform.
NINT to round indices to the nearest integers.
SUBSCRIPT where this is used for ranges.