MERGE(TSOURCE, FSOURCE, MASK)

目的

2 つの値の間、または 2 つの配列内の対応するエレメント間で選択します。 論理マスクは、個々の結果エレメントを最初の引き数からとるか、2 番目の引き数から とるかを決定します。

クラス

エレメント型関数

引き数の型と属性

TSOURCE
マスク内の対応するエレメントが真である場合に使用するソース配列です。これは、任意のデータ型の式です。

FSOURCE
マスク内の対応するエレメントが偽である場合に使用するソース配列です。これは、tsource と同じデータ型と型付きパラメーターを持っていなければなりません。 この形状は、tsource に準拠しています。

MASK
形状が TSOURCE および FSOURCE に準拠している論理式です。

結果の値

結果は、TSOURCE および FSOURCE と同じ形状とデータ型を持ちます。

結果内の個々のエレメントの場合、TSOURCE からとられる (真の場合) か、それとも FSOURCE からとられる (偽の場合) かは、MASK 内の対応するエレメントの値によって決まります。

! TSOURCE is | A D G |, FSOURCE is | a d g |,
!            | B E H |             | b e h |
!            | C F I |             | c f i |
!
! and MASK is the array | T T T |
!                       | F F F |
!                       | F F F |
 
! Take the top row of TSOURCE, and the remaining elements
! from FSOURCE.
       RES = MERGE(TSOURCE, FSOURCE, MASK)
! The result is  | A D G |
!                | b e h |
!                | c f i |
 
! Evaluate IF (X .GT. Y) THEN
!             RES=6
!          ELSE
!             RES=12
!          END IF
! in a more concise form.
       RES = MERGE(6, 12, X .GT. Y)
IBM Copyright 2003