Description: | Converts the bit pattern of SOURCE according to the type and kind parameters of MOLD. | ||
Class: | Transformational function; Generic | ||
Arguments: | SOURCE | Must be a scalar or array (of any data type). | |
MOLD | Must be a scalar or array (of any data type). It provides the type characteristics (not a value) for the result. | ||
SIZE (opt) | Must be scalar and of type integer. It provides the number of elements for the output result. | ||
Results: | The result has the same type and type
parameters as MOLD.
If MOLD is a scalar and SIZE is omitted, the result is a scalar. If MOLD is an array and SIZE is omitted, the result is a rank-one array. Its size is the smallest that is possible to hold all of SOURCE. If SIZE is present, the result is a rank-one array of size SIZE. If the physical representation of the result is larger than SOURCE, the result contains SOURCE's bit pattern in its right-most bits; the left-most bits of the result are undefined. If the physical representation of the result is smaller than SOURCE, the result contains the right-most bits of SOURCE's bit pattern. |
Examples
TRANSFER (1082130432, 0.0) has the value 4.0 (on processors that represent the values 4.0 and 1082130432 as the string of binary digits 0100 0000 1000 0000 0000 0000 0000 0000).
TRANSFER ((/2.2, 3.3, 4.4/), ((0.0, 0.0))) results in a scalar whose value is (2.2, 3.3).
TRANSFER ((/2.2, 3.3, 4.4/), (/(0.0, 0.0)/)) results in a complex rank-one array of length 2. Its first element is (2.2,3.3) and its second element has a real part with the value 4.4 and an undefined imaginary part.
TRANSFER ((/2.2, 3.3, 4.4/), (/(0.0, 0.0)/), 1) results in a complex rank-one array having one element with the value (2.2, 3.3).