#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. |