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

レデューサー・ライブラリーには、次の表に示すレデューサーが含まれています、

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

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

レデューサー/ヘッダーファイル

単位元要素

更新操作

説明

reducer_list_append

<cilk/reducer_list.h>

空のリスト

push_back()

最後に追加する操作 (append) を使用してリストを作成します。最終的なは、ワーカーの数やスケジュール順序に関係なく、同等のシリアルプログラムで作成されたものと同じになります。

reducer_list_prepend

<cilk/reducer_list.h>

空のリスト

push_front()

先頭に追加する操作 (prepend) を使用してリストを作成します。

reducer_max

<cilk/reducer_max.h>

コンストラクターへの引数

cilk::max_of

値のセットから最大値を検索します。コンストラクターの引数は、初期の最大値を持ちます。

reducer_max_index

<cilk/reducer_max.h>

コンストラクターへの引数

cilk::max_of

値のセットから最大値と最大値を含む要素のインデックスを検索します。コンストラクターの引数は、初期の最大値とインデックスを持ちます。

reducer_min

<cilk/reducer_min.h>

コンストラクターへの引数

cilk::min_of

値のセットから最小値を検索します。コンストラクターの引数は、初期の最小値を持ちます。

reducer_min_index

<cilk/reducer_min.h>

コンストラクターへの引数

cilk::min_of

値のセットから最小値と最小値を含む要素のインデックスを検索します。コンストラクターの引数は、初期の最小値とインデックスを持ちます。

reducer_opadd

<cilk/reducer_opadd.h>

0

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

合計を計算します。

reducer_opand

<cilk/reducer_opand.h>

~0

&、&=

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

reducer_opor

<cilk/reducer_opor.h>

0

|、|=

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

reducer_opxor

<cilk/reducer_opxor.h>

0

false ^、^=、=

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

reducer_ostream

<cilk/reducer_ostream.h>

空の文字列

<<

並列で書き込み可能な出力ストリームを提供します。出力ストリームで一貫した順序を保持するために、現在の位置よりも左に保留中の出力がなくなるまでレデューサー・クラスで出力がバッファーされます。これにより、常に、対応するシリアルプログラムで生成される出力と同じ順序で出力されます。

reducer_basic_string

<cilk/reducer_string.h>

空の文字列

+=、append

最後に追加する (append) 操作または += 操作を使用して文字列を作成します。内部的には、コピーとメモリー・フラグメントを抑えるために、文字列は部分文字列のリストとして保持されます。get_value() が呼び出されると、部分文字列は 1 つの文字列にまとめられます。

reducer_string

<cilk/reducer_string.h>

空の文字列

+=、append

char 型の reducer_basic_string の省略形です。

reducer_wstring

<cilk/reducer_string.h>

空の文字列

+=、append

wchar_t 型の reducer_basic_string の省略形です。


このヘルプトピックについてのフィードバックを送信