変形組込み関数 (総称):第 2 引数の型と種別パラメタに従って,第 1 引数のビット・パターンを変換します。
形式
result = TRANSFER (source, mold [, size])
source
(入力) 任意のデータ型のスカラまたは配列。
mold
(入力) 任意のデータ型のスカラまたは配列。これは結果の (値ではなく) 型特性を指定します。
size
(省略可能,入力) 整数型スカラ。これは出力結果の要素の数を指定します。
結果
結果は mold と同じ型と型パラメタを持ちます。
mold がスカラで,size が省略された場合,結果はスカラになります。
mold が配列で,size が省略された場合,結果は次元数 1 の配列になります。その大きさは,すべての source を保持することができる最も小さい大きさです。
size が存在する場合,結果は大きさ size の次元数 1 の配列になります。
結果の物理的表現が source よりも大きい場合,結果は source の右側のビットのビット・パターンを含んでいます。結果の左側のビットは不定です。
結果の物理的表現が source よりも小さい場合,結果は source のビット・パターンの右側のビットを含んでいます。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
例
TRANSFER (1082130432, 0.0) の値は 4.0 です (値 4.0 と 1082130432 を,2 進数の文字列 0100 0000 1000 0000 0000 0000 0000 0000 として表現するプロセッサー上で)。
TRANSFER ((/2.2, 3.3, 4.4/), ((0.0, 0.0))) の結果は,値が (2.2, 3.3) のスカラとなります。
TRANSFER ((/2.2, 3.3, 4.4/), (/(0.0, 0.0)/)) の結果は,複素数型の長さ 2,次元数 1 の配列となります。その第 1 要素は (2.2, 3.3) で,第 2 要素は実部が 4.4,虚部が不定です。
TRANSFER ((/2.2, 3.3, 4.4/), (/(0.0, 0.0)/), 1) の結果は,値 (2.2, 3.3) の要素を 1 つ含んだ複素数型の次元数 1 の配列となります。
以下に他の例を示します。
COMPLEX CVECTOR(2), CX(1) ! 次の文は,CVECTOR に [ 1.1 + 2.2i, 3.3 + 0.0i ] を設定します。 CVECTOR = TRANSFER((/1.1, 2.2, 3.3, 0.0/), & (/(0.0, 0.0)/)) ! 次の文は,CX に [ 1.1 + 2.2i ] を設定します。 CX = TRANSFER((/1.1, 2.2, 3.3/) , (/(0.0, 0.0)/), & SIZE= 1) WRITE(*,*) CVECTOR WRITE(*,*) CX END