Work function to balance 2 neighboring partitions in a diffusive fashion according to the independent set.
More...
|
| balance_neighbor_partitions_wf (Weight_property const &prop, Weight_partition_map const &prop2, indep_edge_set_type const &indep, size_t const &tol) |
|
template<typename Elt , typename HView > |
void | operator() (Elt p1, HView hview) |
|
template<typename HView , typename P1 , typename D > |
void | move_vertices (HView hview, P1 p1, D const &d, int weight) |
| Balance 2 neighboring partitions in a diffusive fashion. More...
|
|
|
typedef std::vector< std::pair< size_t, size_t > > | indep_edge_set_type |
|
typedef void | result_type |
|
template<typename Weight_property, typename Weight_partition_map>
struct stapl::balance_neighbor_partitions_wf< Weight_property, Weight_partition_map >
Work function to balance 2 neighboring partitions in a diffusive fashion according to the independent set.
- Template Parameters
-
Weight_property | vertex property map type. |
Weight_partition_map | partition property map type. |
◆ balance_neighbor_partitions_wf()
template<typename Weight_property , typename Weight_partition_map >
- Parameters
-
prop | vertex property map. |
prop2 | partition property map. |
indep | independent sets of partitions. |
tol | vertex weight imbalance allowed. |
◆ operator()()
template<typename Weight_property , typename Weight_partition_map >
template<typename Elt , typename HView >
- Parameters
-
p1 | partition considered as a source of vertices. |
hview | partition view. |
◆ move_vertices()
template<typename Weight_property , typename Weight_partition_map >
template<typename HView , typename P1 , typename D >
Balance 2 neighboring partitions in a diffusive fashion.
- Parameters
-
hview | partition view. |
p1 | overweighted partition. |
d | descriptor of adjacent vertex. |
weight | total weight to move if possible to even partitions. |
The documentation for this struct was generated from the following file: