This class abstracts the semantics of a reverse binary tree by exposing only the necessary information in its representation. More...
Public Member Functions | |
reverse_binary_tree (Op const &op, Filter const &filter) | |
Op | get_op (void) const |
Filter | get_filter (void) const |
Public Types | |
using | skeleton_tag_type = tags::reverse_binary_tree< Tag > |
using | op_type = Op |
using | base_type = decltype(skeletons::reverse_tree< 2, Flows, spans::reverse_tree< Span, Tag > >(skeletons::reverse_binary_tree_pd< Tag, isPositionAware, SetResult >(std::declval< Op >(), std::declval< Filter >()))) |
This class abstracts the semantics of a reverse binary tree by exposing only the necessary information in its representation.
This skeleton is used in several composed skeletons such as a broadcast
skeleton.
This abstraction not only makes the reconstruction of a reverse_binary_tree skeleton easier, but also provides access to the underlying reduction operation. Furthermore, it reduces the symbol size for a reverse_binary_tree skeleton, hence, reducing the total compilation time.
Op | the operation to be used for reduction. |
Flows | the flow between the levels of the binary tree. |
Span | the iteration space for the elements in each level of each level. |