#include <ckpttn/FMKWayGainMgr.hpp>
template<typename Gnl>
FMKWayGainMgr class
| Template parameters | |
|---|---|
| Gnl | Generalized Netlist |
Base classes
-
template<typename Gnl, typename GainCalc, class Derived>class FMGainMgr<Gnl, FMKWayGainCalc<Gnl>, FMKWayGainMgr<Gnl>>
Public types
- using Base = FMGainMgr<Gnl, FMKWayGainCalc<Gnl>, FMKWayGainMgr<Gnl>>
- using GainCalc_ = FMKWayGainCalc<Gnl>
- using node_t = typename Gnl::node_t
Constructors, destructors, conversion operators
- FMKWayGainMgr(const Gnl& hyprgraph, std::uint8_t num_parts)
- Constructs a new FMKWayGainMgr object.
Public functions
- auto init(std::span<const std::uint8_t> part) -> int -> auto
- Initializes the gain manager with the given partition information.
-
auto modify_key(const node_
t& w, std::uint8_t part_w, std::span<const int> keys) -> void -> auto - Modifies the key for the given vertex in the gain buckets for all partitions except the given one.
-
auto update_move_v(const MoveInfoV<node_
t>& move_info_v, int gain) -> void -> auto - Updates the move information for a vertex.
-
auto lock(uint8_t whichPart,
const node_
t& v) -> void -> auto - Locks the vertex link for the given partition and vertex.
-
auto lock_all(uint8_t,
const node_
t& v) -> void -> auto - Locks the vertex link for the given vertex in all partitions.
Function documentation
template<typename Gnl>
FMKWayGainMgr<Gnl>:: FMKWayGainMgr(const Gnl& hyprgraph,
std::uint8_t num_parts)
Constructs a new FMKWayGainMgr object.
| Parameters | |
|---|---|
| hyprgraph in | The hypergraph to use. |
| num_parts in | The number of partitions. |
template<typename Gnl>
auto FMKWayGainMgr<Gnl>:: init(std::span<const std::uint8_t> part) -> int
Initializes the gain manager with the given partition information.
| Parameters | |
|---|---|
| part in | The partition information to initialize the gain manager with. |
| Returns | int The result of the initialization. |
template<typename Gnl>
auto FMKWayGainMgr<Gnl>:: modify_key(const node_ t& w,
std::uint8_t part_w,
std::span<const int> keys) -> void
Modifies the key for the given vertex in the gain buckets for all partitions except the given one.
| Parameters | |
|---|---|
| w in | The vertex to modify the key for. |
| part_w in | The partition that the vertex belongs to. |
| keys in | The new keys to set for the vertex in each partition. |
template<typename Gnl>
auto FMKWayGainMgr<Gnl>:: update_move_v(const MoveInfoV<node_ t>& move_info_v,
int gain) -> void
Updates the move information for a vertex.
| Parameters | |
|---|---|
| move_info_v in | The move information for the vertex. |
| gain in | The gain associated with the move. |