#include <ckpttn/FMKWayConstrMgr.hpp>
template<typename Gnl>
FMKWayConstrMgr class
Fiduccia-Mattheyses num_parts-Way Partition Constraint Manager.
Template parameters | |
---|---|
Gnl |
Base classes
-
template<typename Gnl>class FMConstrMgr<Gnl>
- Fiduccia-Mattheyses Partition Constraint Manager.
Constructors, destructors, conversion operators
- FMKWayConstrMgr(const Gnl& hyprgraph, double bal_tol, std::uint8_t num_parts)
- Constructs a new FMKWayConstrMgr object.
Public functions
- auto select_togo() const -> std::uint8_t -> auto
- Selects the next partition to move a node to.
- auto init(std::span<const std::uint8_t> part) -> void -> auto
- Initializes the FMKWayConstrMgr object with the given partition information.
- auto check_legal(const MoveInfoV<typename Gnl::node_t>& move_info_v) -> LegalCheck -> auto
- Checks if the given move information is legal according to the constraints.
Function documentation
template<typename Gnl>
FMKWayConstrMgr<Gnl>:: FMKWayConstrMgr(const Gnl& hyprgraph,
double bal_tol,
std::uint8_t num_parts)
Constructs a new FMKWayConstrMgr object.
Parameters | |
---|---|
hyprgraph in | The hypergraph to use. |
bal_tol in | The balance tolerance to use. |
num_parts in | The number of partitions. |
template<typename Gnl>
auto FMKWayConstrMgr<Gnl>:: select_togo() const -> std::uint8_t
Selects the next partition to move a node to.
Returns | The index of the partition to move the node to. |
---|
template<typename Gnl>
auto FMKWayConstrMgr<Gnl>:: init(std::span<const std::uint8_t> part) -> void
Initializes the FMKWayConstrMgr object with the given partition information.
Parameters | |
---|---|
part in | A span of the partition indices for each node. |
template<typename Gnl>
auto FMKWayConstrMgr<Gnl>:: check_legal(const MoveInfoV<typename Gnl::node_t>& move_info_v) -> LegalCheck
Checks if the given move information is legal according to the constraints.
Parameters | |
---|---|
move_info_v in | The move information to check. |
Returns | LegalCheck The result of the legality check. |