+----------------------------------IBM 拡張----------------------------------+

CVMGx(TSOURCE, FSOURCE, MASK)

目的

条件付きベクトル・マージ関数 (CVMGMCVMGNCVMGPCVMGTCVMGZ) を使用すると、これらの関数を含んでいる既存のコードを移植することができます。

これらの呼び出しは、以下の関数を呼び出すのに非常に似ています。

MERGE ( TSOURCE, FSOURCE, arith_expr .op. 0 )
または
MERGE ( TSOURCE, FSOURCE, logical_expr .op. .TRUE. )

MERGE 組み込み関数は Fortran 90 言語の一部なので、 新しいプログラムには、これらの関数の代わりに、この組み込み関数を使用する ことをお勧めします。

クラス

エレメント型関数

引き数の型と属性

TSOURCE
LOGICALINTEGER、または REAL 型 (1 を除く) の任意の種類のスカラー式または配列式です。

FSOURCE
TSOURCE と同じ型および型付きパラメーターを 持つスカラー式または配列式です。

MASK
INTEGER または REAL 型 (CVMGMCVMGNCVMGPCVMGZ の場合) あるいは LOGICAL 型 (CVMGT の場合) の任意の種類 (1 を除く) のスカラー式または整数式です。 それが配列である場合には、形状が TSOURCE および FSOURCE に従っていなければなりません。

TSOURCEFSOURCE のどちらか一方だけが型なしの場合は、型 なしの引き数が他方の引き数の型を獲得します。 TSOURCEFSOURCE のどちらの引き数も型なしの場合は、 両方の引き数が MASK の型を獲得します。 MASK も型なしの場合は、TSOURCEFSOURCE の 両方がデフォルト整数であると見なされます。 MASK が型なしの場合は、CVMGT 関数のデフォルト論理値、 およびその他の CVMGx 関数のデフォルト整数と見なされます。

結果の値と属性

TSOURCE および FSOURCE と同じです。

結果の値

結果の関数は、最初の引き数または 2 番目の引き数の値になります。 どちらになるかは、3 番目の引き数に対して実行されるテストの結果によって決まります。 引き数が配列の場合、テストは MASK 配列の個々のエレメントに対して実行され、 結果には TSOURCE からのエレメントと、FSOURCE からのエレメントが含まれる場合があります。

表 26. CVMGx 組み込みプロシージャーの結果の値

説明 関数戻り値 総称名
正かゼロかのテスト MASK>=0 の場合には TSOURCEMASK<0 の場合には FSOURCE CVMGP
負のテスト MASK<0 の場合には TSOURCEMASK>=0 の場合には FSOURCE CVMGM
ゼロのテスト MASK=0 の場合には TSOURCEMASK<>0 の場合には FSOURCE CVMGZ
ゼロ以外のテスト MASK<>0 の場合には TSOURCEMASK=0 の場合には FSOURCE CVMGN
真のテスト MASK=.TRUE. の場合には TSOURCE、MASK=.FALSE. の場合には FSOURCE CVMGT

+------------------------------End of IBM 拡張-------------------------------+

IBM Copyright 2003