40 std::uint8_t num_parts;
42 size_t limitsize{50U};
63 MLPartMgr(
double bal_tol, std::uint8_t num_parts) : bal_tol{bal_tol}, num_parts{num_parts} {}
81 template <
typename Gnl,
typename PartMgr>
Result of a partition legality check.
LegalCheck
Check if the move of v can be satisfied, get better, or not satisfied.
Definition LegalCheck.hpp:11
Multilevel Partition Manager.
Definition MLPartMgr.hpp:35
MLPartMgr(double bal_tol)
Constructs a new MLPartMgr object with the given balance tolerance and a default number of partitions...
Definition MLPartMgr.hpp:54
int total_cost
Total cost of the current partitioning solution.
Definition MLPartMgr.hpp:46
MLPartMgr(double bal_tol, std::uint8_t num_parts)
Constructs a new MLPartMgr object with the given balance tolerance and number of partitions.
Definition MLPartMgr.hpp:63
void set_limitsize(size_t limit)
Sets the limit size for the partitioning.
Definition MLPartMgr.hpp:70
auto run_Partition(const Gnl &hyprgraph, std::span< std::uint8_t > part) -> LegalCheck
Runs the Fiduccia-Mattheyses (FM) partitioning algorithm on the given hypergraph.