STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types | Static Public Attributes
stapl::skeletons::skeletons_impl::binomial_tree_pd< Op, Tag > Class Template Reference

This reduce parametric dependency is one of the several possible parametric dependencies that can be used in reduction. More...

Public Member Functions

 binomial_tree_pd (Op op)
 
template<typename... Args>
void case_of (Args &&... args) const
 Dispatches the case_of request to the appropriate implementation based on the given tag.
 
template<typename Size , typename Coord , typename FlowIndex >
std::size_t consumer_count (Size const &skeleton_size, Coord const &producer_coord, FlowIndex flow_index) const
 determines how many of the instances of this parametric dependency will be consuming from a producer with a given coordinate. This is a reverse query as compared to case_of. More...
 
Op get_op () const
 
template<typename Coord >
int get_result_id (Coord const &, Coord const &) const
 
template<typename Coord , typename Span >
void configure (Coord &&, Span &&)
 

Public Types

using consumer_count_filter_type = skeletons::filters::filter< 2 >
 
using op_type = Op
 

Static Public Attributes

static constexpr std::size_t in_port_size
 
static constexpr std::size_t op_arity = 2
 

Detailed Description

template<typename Op, typename Tag>
class stapl::skeletons::skeletons_impl::binomial_tree_pd< Op, Tag >

This reduce parametric dependency is one of the several possible parametric dependencies that can be used in reduction.

This parametric dependency is used with tree in order to create reduction trees. Other possible choices for reduction dependence skeletons are right_binomial_tree_pd and left_binomial_tree_pd.

Template Parameters
Opthe workfunction to be applied on each pair of elements
Tagdetermines the type of the reduce parametric dependency
See also
reduce

Member Function Documentation

◆ consumer_count()

template<typename Op , typename Tag >
template<typename Size , typename Coord , typename FlowIndex >
std::size_t stapl::skeletons::skeletons_impl::binomial_tree_pd< Op, Tag >::consumer_count ( Size const &  skeleton_size,
Coord const &  producer_coord,
FlowIndex  flow_index 
) const

determines how many of the instances of this parametric dependency will be consuming from a producer with a given coordinate. This is a reverse query as compared to case_of.

Template Parameters
FlowIndexthe flow index to which this request is sent

Member Data Documentation

◆ in_port_size

template<typename Op , typename Tag >
constexpr std::size_t stapl::skeletons::skeletons_impl::binomial_tree_pd< Op, Tag >::in_port_size
static
Initial value:
=
(std::is_same<Tag, tags::up_phase>::value ? 1 : 3)

The documentation for this class was generated from the following file: