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.01082130432 を,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