template<typename Gnl, typename GainMgr, typename ConstrMgr>
FMPartMgr class

Fiduccia-Mattheyses Partitioning Algorithm Manager.

Template parameters
Gnl
GainMgr
ConstrMgr

The FMPartMgr class is a subclass of PartMgrBase and is used for managing the partitioning of a hypergraph (Gnl) using the Fiduccia-Mattheyses algorithm. It takes a hypergraph, a gain manager, a constraint manager, and the number of partitions as input. It provides methods for taking a snapshot of the current partition and restoring a partition from a snapshot.

Base classes

template<typename Gnl, typename GainMgr, typename ConstrMgr>
class PartMgrBase<Gnl, GainMgr, ConstrMgr>
Fiduccia-Mattheyses Partitioning Algorithm Manager Base.

Constructors, destructors, conversion operators

FMPartMgr(const Gnl& hyprgraph, GainMgr& gain_mgr, ConstrMgr& constr_mgr, size_t num_parts)
Constructs a new FMPartMgr object.
FMPartMgr(const Gnl& hyprgraph, GainMgr& gain_mgr, ConstrMgr& constr_mgr)
Constructs a new FMPartMgr object.

Function documentation

template<typename Gnl, typename GainMgr, typename ConstrMgr>
FMPartMgr<Gnl, GainMgr, ConstrMgr>::FMPartMgr(const Gnl& hyprgraph, GainMgr& gain_mgr, ConstrMgr& constr_mgr, size_t num_parts)

Constructs a new FMPartMgr object.

Parameters
hyprgraph in The hypergraph to be partitioned
gain_mgr in/out The gain manager used for the partitioning
constr_mgr in/out The constraint manager used for the partitioning
num_parts in The number of partitions to create

template<typename Gnl, typename GainMgr, typename ConstrMgr>
FMPartMgr<Gnl, GainMgr, ConstrMgr>::FMPartMgr(const Gnl& hyprgraph, GainMgr& gain_mgr, ConstrMgr& constr_mgr)

Constructs a new FMPartMgr object.

Parameters
hyprgraph in The hypergraph to be partitioned
gain_mgr in/out The gain manager used for the partitioning
constr_mgr in/out The constraint manager used for the partitioning