MERGE

要素別処理組込み関数 (総称):論理値の選別値によって指定された条件に従って,2 つの値または 2 つの配列の対応する要素の間で選択を行います。

形式

result = MERGE (tsource, fsource, mask)

tsource
(入力) 任意のデータ型のスカラまたは配列。

fsource
(入力) tsource と同じ型および型パラメタのスカラまたは配列。

mask
(入力) 論理型配列。

結果

結果の型は tsource と同じです。mask の値は,結果の値が tsource (mask が真の場合) と fsource (mask が偽の場合) のどちらから取られるかを決定します。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

MVBITS

MERGE (1.0, 0.0, R < 0) で,R = -3 の場合の値は 1.0R = 7 の場合の値は 0.0 です。

TSOURCE が配列

	[ 1  3  5 ]
	[ 2  4  6 ]

FSOURCE が配列

	[ 8  9  0 ]
	[ 1  2  3 ]

MASK が配列

	[ F  T  T]
	[ T  T  F]

であるとします。

MERGE (TSOURCE, FSOURCE, MASK) の結果は次のようになります。

	[ 8  3  5 ]
	[ 2  4  3 ]

以下に他の例を示します。

	INTEGER tsource(2, 3), fsource(2, 3), AR1 (2, 3)
	LOGICAL mask(2, 3)
	tsource = RESHAPE((/1, 4, 2, 5, 3, 6/),(/2, 3/))
	fsource = RESHAPE((/7, 0, 8, -1, 9, -2/), (/2, 3/))
	mask = RESHAPE((/.TRUE., .FALSE., .FALSE., .TRUE., &
	                 .TRUE., .FALSE./), (/2,3/))
	! tsource は 1 2 3 ;fsource は 7  8  9 ;mask は T F T
	!            4 5 6              0 -1 -2           F T F です。
	
	AR1 = MERGE(tsource, fsource, mask)	! 1 8  3
						! 0 5 -2 を返します。
	END