1 次元配列からいくつかのまたは全部の配列をとり、再調整して別の (おそらく、もっと大きい) 配列にします。
引き数タイプおよび属性
クラス
変換関数
結果値
結果は MASK と同じ形状と、VECTOR と同じデータ型を持つ配列になります。
結果のエレメントは配列エレメント順に埋め込まれます。つまり、MASK 内の対応するエレメントが .TRUE. である場合は、結果のエレメントは VECTOR の次のエレメントで埋め込まれます。それ以外の場合は、FIELD の対応するエレメントで埋め込まれます。
例
! VECTOR is the array (/ 5, 6, 7, 8 /),
! MASK is | F T T |, FIELD is | -1 -4 -7 |
! | T F F | | -2 -5 -8 |
! | F F T | | -3 -6 -9 |
! Turn the one-dimensional vector into a two-dimensional
! array. The elements of VECTOR are placed into the .TRUE.
! positions in MASK, and the remaining elements are
! made up of negative values from FIELD.
RES = UNPACK( VECTOR, MASK, FIELD )
! The result is | -1 6 7 |
! | 5 -5 -8 |
! | -3 -6 8 |
! Do the same transformation, but using all zeros for the
! replacement values of FIELD.
RES = UNPACK( VECTOR, MASK, FIELD = 0 )
! The result is | 0 6 7 |
! | 5 0 0 |
! | 0 0 8 |