TRANSFER

変形組込み関数 (総称):第 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