Intel® C++ Compiler 16.0 User and Reference Guide
The provided reducer library contains the reducers shown in the following table. Note that the name in the first column is the name of the monoid class; the corresponding reducer would be written as reducer<monoid>.
A description of each reducer is described in the comments that appear in the corresponding header file.
In the following table, the second column shows each reducer’s identity element and the third column shows the Update operation (there may be several).
Monoid/Header File |
Identity element |
Update operation |
Description |
---|---|---|---|
op_list_append <cilk/reducer_list.h> |
empty list |
push_back() |
Creates a list by appending elements at the back. |
op_list_prepend <cilk/reducer_list.h> |
empty list |
push_front() |
Creates a list by adding elements at the front. |
op_max <cilk/reducer_max.h> |
(implicit) |
calc_max cilk::max_of |
Finds the maximum value over a set of values. |
rop_max_index <cilk/reducer_max.h> |
(implicit) |
calc_max cilk::max_of |
Finds the maximum value and the index of the element containing the maximum value over a set of values. |
op_min <cilk/reducer_min.h> |
(implicit) |
calc_min cilk::min_of |
Finds the minimum value over a set of values. |
op_min_index <cilk/reducer_min.h> |
(implicit) |
calc_min cilk::min_of |
Finds the minimum value and the index of the element containing the minimum value over a set of values. |
op_add <cilk/reducer_opadd.h> |
0 |
+, +=, ++, -, -=, -- |
Performs a sum. |
op_and <cilk/reducer_opand.h> |
~0 |
&, &= |
Perform bitwise AND. |
op_or <cilk/reducer_opor.h> |
0 |
|, |= |
Perform bitwise OR. |
op_xor <cilk/reducer_opxor.h> |
0 |
^, ^= |
Perform bitwise XOR. |
op_basic_ostream <cilk/reducer_ostream.h> |
empty string |
<< |
Provides an output stream that can be written in parallel. |
op_ostream <cilk/reducer_string.h> |
empty string |
<< |
Shorthand for op_basic_ostream<char>. |
op_wostream <cilk/reducer_string.h> |
empty string |
<< |
Shorthand for op_basic_ostream<wchar t>. |
op_basic_string <cilk/reducer_string.h> |
empty string |
+=, append |
Creates a string using append or += operations. |
op_string <cilk/reducer_string.h> |
empty string |
+=, append |
Shorthand for op_basic_string<char>. |
op_wstring <cilk/reducer_string.h> |
empty string |
+=, append |
Shorthand for op_basic_string<wchar_t>. |
op_vector <cilk/reducer_vector.h> |
empty vector |
push_back() |
Creates a vector by appending elements at the back. |