インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

レデューサー・ライブラリー

インテル® Cilk™ Plus は古い機能 (非推奨) です。代わりに、OpenMP* またはインテル® TBB を使用してください。詳細は、「インテル® Cilk™ Plus の代わりに OpenMP* またはインテル® TBB を使用するためのアプリケーションの移行」を参照してください。

レデューサー・ライブラリーには、次の表に示すレデューサーが含まれています、最初の列の名前はモノイドクラス名です。対応するレデューサーは reducer<monoid> のように記述します。

それぞれのレデューサーの説明は、対応するヘッダーファイルの説明欄にあります。

次の表の 2 つ目の列は各レデューサーの単位元を示し、3 つ目の列は更新操作 (複数の場合あり) を示します。

モノイド/ヘッダーファイル

単位元要素

更新操作

説明

op_list_append

<cilk/reducer_list.h>

空のリスト

push_back()

要素を後ろに追加してリストを作成します。

op_list_prepend

<cilk/reducer_list.h>

空のリスト

push_front()

要素を前に追加してリストを作成します。

op_max

<cilk/reducer_max.h>

(暗黙)

calc_max

cilk::max_of

値のセットから最大値を検索します。

rop_max_index

<cilk/reducer_max.h>

(暗黙)

calc_max

cilk::max_of

値のセットから最大値と最大値を含む要素のインデックスを検索します。

op_min

<cilk/reducer_min.h>

(暗黙)

calc_min

cilk::min_of

値のセットから最小値を検索します。

op_min_index

<cilk/reducer_min.h>

(暗黙)

calc_min

cilk::min_of

値のセットから最小値と最小値を含む要素のインデックスを検索します。

op_add

<cilk/reducer_opadd.h>

0

+、+=、++、-、-=、--

合計を計算します。

op_and

<cilk/reducer_opand.h>

~0

&、&=

ビット単位の AND (論理積) 演算を実行します。

op_or

<cilk/reducer_opor.h>

0

|、|=

ビット単位の OR (論理和) 演算を実行します。

op_xor

<cilk/reducer_opxor.h>

0

^、^=

ビット単位の XOR (排他的論理和) 演算を実行します。

op_basic_ostream

<cilk/reducer_ostream.h>

空の文字列

<<

並列で書き込み可能な出力ストリームを提供します。

op_ostream

<cilk/reducer_string.h>

空の文字列

<<

op_basic_ostream<char> の省略形です。

op_wostream

<cilk/reducer_string.h>

空の文字列

<<

op_basic_ostream<wchar t> の省略形です。

op_basic_string

<cilk/reducer_string.h>

空の文字列

+=、append

最後に追加する (append) 操作または += 操作を使用して文字列を作成します。

op_string

<cilk/reducer_string.h>

空の文字列

+=、append

op_basic_string<char> の省略形です。

op_wstring

<cilk/reducer_string.h>

空の文字列

+=、append

op_basic_string<wchar_t> の省略形です。

op_vector

<cilk/reducer_vector.h>

空のベクトル

push_back()

要素を後ろに追加してベクトルを作成します。