PRODUCT(ARRAY, DIM, MASK) または PRODUCT(ARRAY, MASK)

目的

配列全体内のすべてのエレメントを乗算するか、次元に沿ったすべての ベクトルから選択したエレメントを乗算します。

クラス

変換関数

引き数の型と属性

ARRAY
数値データ型を持つ配列です。

DIM (オプション)
1 <= DIM <= rank(ARRAY) の範囲内の整数スカラーです。

MASK (オプション)
形状が ARRAY に準拠している論理式です。 MASK がスカラーである場合は、その値は ARRAY 内のすべてのエレメントに適用されます。

結果の値

DIM が存在する場合は、結果はランク rank(ARRAY)-1 の配列で、ARRAY と同じデータ型になります。DIM が脱落している場合、または MASK のランクが 1 の場合は、 結果はスカラーになります。

結果は、以下のいずれかの方式で計算されます。

方式 1:
ARRAY だけが指定されている場合は、 結果はその配列エレメント全部の積になります。 ARRAY がゼロ・サイズ配列である場合は、結果はゼロに等しくなります。

方式 2:
ARRAY と MASK が両方とも指定されている場合は、 結果は MASK 内の対応する真の配列エレメントを持つ ARRAY のそれらの配列エレメントの 積になります。 値が .TRUE. であるエレメントを MASK が持っていない場合は、 結果は 1 に等しくなります。

方式 3:
DIM も指定されて、ARRAY のランクが 1 の場合、 結果は MASK 内の対応する .TRUE. 配列エレメントを持つ ARRAY のすべてのエレメントの積に 等しいスカラーです。

DIM も指定されて、ARRAY のランクが 1 より大きい場合、 結果は次元 DIM が除去されている新しい配列です。それぞれの新しい配列エレメントは、ARRAY 中 の対応するベクトルからのエレメントの積です。そのベクトルのインデックス値は、DIM を除くすべての次元で、出力エレメントの指標値と一致します。 出力エレメントは MASK 内の対応する.TRUE. 配列エレメントを持つ これらのベクトル・エレメントの積です。

+---------------------------------Fortran 95---------------------------------+

DIMMASK はどちらもオプションであるため、 引き数のさまざまな組み合わせが可能になります。 -qintlog オプションが 2 つの引き数を指定すると、2 番目の 引き数は次のうちの 1 つを参照します。

+-----------------------------End of Fortran 95------------------------------+

IBM Copyright 2003