Elemental Intrinsic Function (Generic): Selects between two values or between corresponding elements in two arrays, according to the condition specified by a logical mask.
Syntax
Results:
The result type is the same as tsource. The value of mask determines whether the result value is taken from tsource (if mask is true) or fsource (if mask is false).
Compatibility
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
See Also: MVBITS
Examples
For MERGE (1.0, 0.0, R < 0), R = -3 has the value 1.0, and R = 7 has the value 0.0.
TSOURCE is the array
[ 1 3 5 ]
[ 2 4 6 ],
FSOURCE is the array
[ 8 9 0 ]
[ 1 2 3 ],
and MASK is the array
[ F T T]
[ T T F].
MERGE (TSOURCE, FSOURCE, MASK) produces the result:
[ 8 3 5 ]
[ 2 4 3 ].
The following shows another example:
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 is 1 2 3 , fsource is 7 8 9 , mask is T F T
! 4 5 6 0 -1 -2 F T F
AR1 = MERGE(tsource, fsource, mask) ! returns 1 8 3
! 0 5 -2
END