Documentation:Reference:TDI I2 - MdsWiki
Navigation
Personal tools

From MdsWiki

Jump to: navigation, search

INOR (I,J)

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.

inquire (UNIT|file,select)

F90 IO. ??

INT (A,[KIND])

F90 Conversion Elemental. Convert to signed integer.

Arguments Optional: KIND.
A numeric.
KIND scalar integer type number, for example, KIND(1).

Signals. Same as A.
Units... Same as A.
Form.... If KIND present, the signed integer type KIND;
otherwise, the integer type with the equal length. To
get specific integer type use BYTE, WORD, LONG,
QUADWORD, or OCTAWORD or BYTE_UNSIGNED, etc.

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.

Examples. INT(-3.0) is -3. INT(Z,3Q) is the quadword integral part
of a complex.

integral (ARRAY,[DIM],[WIDTH])

Transformation. Integrate along one dimension of an array.

Arguments Optional: DIM, WIDTH.
ARRAY numeric array. Signal uses dimension.
DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
WIDTH real scalar.

Signals. Same as ARRAY.
Units... Same as for ARRAY*DIM_OF(ARRAY,DIM). (Today, ARRAY's.)
Form.... Same as ARRAY.

Result.. ??

interpol (ARRAY,[DIM],[WIDTH])

Transformation. ??

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.

intersect (A,B)

Miscellaneous. ??

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.

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.

inverse (MATRIX)

Transformation. Matrix inversion.

Argument. MATRIX must be a rank-2 array.

Signals. Same as MATRIX.
Units... Same as 1 / MATRIX.
Form.... Same as MATRIX.

Result.. ??

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.

ishftc (I,SHIFT,SIZE)

F90 Numeric Elemental. Circular left shift of rightmost bits.

Arguments
I must be integer. Octaword is not supported.
SHIFT must be integer. The low byte is used.
SIZE must be integer. The low byte is used.

Signals. Single signal or smallest data.
Units... Same as I.
Form.... Type of I, compatible shape of all.

Result.. The rightmost SIZE bits of I are shifted by SHIFT bits
to the left with the highest bits filling the vacated
bits.

Example. ISHFTC(3,2,3) is 5.

is_in (X,SET)

Logical Elemental. Test if element is in a set of elements.
Usual Form X IS_IN SET.

Arguments
X numeric or character.
SET numeric or character array.

Signals. Same as X.
Units... None.
Form.... Logical of X shape.

Result.. True for each element of X that is in SET;
otherwise false.

Example. 6 IS_IN [1..5,7] is $FALSE.

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.