XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

+----------------------------------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 に従っていなければなりません。

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

クラス

エレメント型関数

結果タイプおよび属性

TSOURCE および FSOURCE と同じです。

結果値

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

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

説明 関数戻り値 総称名
正かゼロかのテスト 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

+--------------------------------IBM 拡張の終り-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]