+----------------------------------IBM 拡張----------------------------------+
目的
条件付きベクトル・マージ関数 (CVMGM、 CVMGN、CVMGP、CVMGT、CVMGZ) を使用すると、これらの関数を含んでいる既存のコードを移植することができます。
これらの呼び出しは、以下の関数を呼び出すのに非常に似ています。
MERGE ( TSOURCE, FSOURCE, arith_expr .op. 0 ) または MERGE ( TSOURCE, FSOURCE, logical_expr .op. .TRUE. )
MERGE 組み込み関数は Fortran 90 言語の一部なので、 新しいプログラムには、これらの関数の代わりに、この組み込み関数を使用する ことをお勧めします。
クラス
エレメント型関数
引き数の型と属性
TSOURCE と FSOURCE のどちらか一方だけが型なしの場合は、型 なしの引き数が他方の引き数の型を獲得します。 TSOURCE と FSOURCE のどちらの引き数も型なしの場合は、 両方の引き数が MASK の型を獲得します。 MASK も型なしの場合は、TSOURCE と FSOURCE の 両方がデフォルト整数であると見なされます。 MASK が型なしの場合は、CVMGT 関数のデフォルト論理値、 およびその他の CVMGx 関数のデフォルト整数と見なされます。
結果の値と属性
TSOURCE および FSOURCE と同じです。
結果の値
結果の関数は、最初の引き数または 2 番目の引き数の値になります。
どちらになるかは、3 番目の引き数に対して実行されるテストの結果によって決まります。
引き数が配列の場合、テストは MASK 配列の個々のエレメントに対して実行され、
結果には TSOURCE からのエレメントと、FSOURCE からのエレメントが含まれる場合があります。
説明 | 関数戻り値 | 総称名 |
---|---|---|
正かゼロかのテスト | MASK>=0 の場合には TSOURCE、MASK<0 の場合には FSOURCE | CVMGP |
負のテスト | MASK<0 の場合には TSOURCE、MASK>=0 の場合には FSOURCE | CVMGM |
ゼロのテスト | MASK=0 の場合には TSOURCE、MASK<>0 の場合には FSOURCE | CVMGZ |
ゼロ以外のテスト | MASK<>0 の場合には TSOURCE、MASK=0 の場合には FSOURCE | CVMGN |
真のテスト | MASK=.TRUE. の場合には TSOURCE、MASK=.FALSE. の場合には FSOURCE | CVMGT |
+------------------------------End of IBM 拡張-------------------------------+