template<typename Gnl>
FMBiConstrMgr class

Constraint Manager.

Template parameters
Gnl

Check if (the move of v can satisfied, makebetter, or NotSatisfied

Base classes

template<typename Gnl>
class FMConstrMgr<Gnl>
Fiduccia-Mattheyses Partition Constraint Manager.

Constructors, destructors, conversion operators

FMBiConstrMgr(const Gnl& hyprgraph, double bal_tol)
Construct a new FMBiConstrMgr object (for general framework)
FMBiConstrMgr(const Gnl& hyprgraph, double bal_tol, std::uint8_t)
Constructs a new FMBiConstrMgr object for the general framework.

Public functions

auto select_togo() const -> std::uint8_t -> auto
Selects the partition to move a vertex to based on the difference in partition sizes.

Function documentation

template<typename Gnl>
FMBiConstrMgr<Gnl>::FMBiConstrMgr(const Gnl& hyprgraph, double bal_tol)

Construct a new FMBiConstrMgr object (for general framework)

Parameters
hyprgraph in The hypergraph to use
bal_tol in The balance tolerance to use

template<typename Gnl>
FMBiConstrMgr<Gnl>::FMBiConstrMgr(const Gnl& hyprgraph, double bal_tol, std::uint8_t)

Constructs a new FMBiConstrMgr object for the general framework.

Parameters
hyprgraph in The hypergraph to use.
bal_tol in The balance tolerance to use.

template<typename Gnl>
auto FMBiConstrMgr<Gnl>::select_togo() const -> std::uint8_t

Selects the partition to move a vertex to based on the difference in partition sizes.

Returns std::uint8_t The index of the partition to move the vertex to (0 or 1).