|
| | FMKWayConstrMgr (const Gnl &hyprgraph, double bal_tol, std::uint8_t num_parts) |
| | Constructs a new FMKWayConstrMgr object.
|
| |
| auto | select_togo () const -> std::uint8_t |
| | Selects the next partition to move a node to.
|
| |
| auto | init (std::span< const std::uint8_t > part) -> void |
| | Initializes the FMKWayConstrMgr object with the given partition information.
|
| |
| auto | check_legal (const MoveInfoV< typename Gnl::node_t > &move_info_v) -> LegalCheck |
| | Checks if the given move information is legal according to the constraints.
|
| |
| auto | init (std::span< const std::uint8_t > part) -> void |
| | Initializes the FMConstrMgr with the given partition information.
|
| |
| auto | check_legal (const MoveInfoV< node_t > &move_info_v) -> LegalCheck |
| | Check if the proposed move of the given nodes can be legally performed, and if so, whether it would improve the current partitioning.
|
| |
| auto | check_constraints (const MoveInfoV< node_t > &move_info_v) -> bool |
| | Check if the proposed moves in the given vector of move information can be legally performed while satisfying the constraints.
|
| |
| auto | update_move (const MoveInfoV< node_t > &move_info_v) -> void |
| | Update the partitioning based on the proposed node moves.
|
| |
| auto | final_check (std::span< const std::uint8_t > part) -> bool |
| | Performs a final check on the partitioning based on the given partition information.
|
| |
|
| using | node_t = typename Gnl::node_t |
| |
| | FMConstrMgr (const Gnl &hyprgraph, double bal_tol) |
| | Constructs a new FMConstrMgr object with the given hypergraph and balance tolerance, using a default of 2 partitions.
|
| |
| | FMConstrMgr (const Gnl &hyprgraph, double bal_tol, std::uint8_t num_parts) |
| | Constructs a new FMConstrMgr object with the given hypergraph, balance tolerance, and number of partitions.
|
| |
| std::vector< unsigned int > | diff |
| | Difference between current partition weight and target for each partition.
|
| |
| unsigned int | lowerbound {} |
| | Lower bound for partition weight (based on balance tolerance)
|
| |
| std::uint8_t | num_parts |
| | Number of partitions.
|
| |
template<typename Gnl>
class FMKWayConstrMgr< Gnl >
Fiduccia-Mattheyses num_parts-Way Partition Constraint Manager.
- Template Parameters
-