Template Class FMGainMgr

Template Parameter Order

  1. typename GainCalc

  2. class Derived

Class Documentation

template<typename GainCalc, class Derived>
class FMGainMgr

tparam GainCalc

tparam Derived

Public Functions

FMGainMgr(const SimpleNetlist &H, std::uint8_t K)

Construct a new FMGainMgr object.

Parameters
  • H[in]

  • K[in]

auto init(gsl::span<const std::uint8_t> part) -> int
Parameters

part[in]

inline auto is_empty_togo(uint8_t toPart) const -> bool
Parameters

toPart[in]

Returns

true

Returns

false

inline auto is_empty() const -> bool
Returns

true

Returns

false

auto select(gsl::span<const std::uint8_t> part) -> std::tuple<MoveInfoV<node_t>, int>
Parameters

part[in]

Returns

std::tuple<MoveInfoV<node_t>, int>

auto select_togo(uint8_t toPart) -> std::tuple<node_t, int>
Parameters

toPart[in]

Returns

std::tuple<node_t, int>

auto update_move(gsl::span<const std::uint8_t> part, const MoveInfoV<node_t> &move_info_v) -> void
Parameters
  • part[in]

  • move_info_v[in]

Public Members

GainCalc gainCalc

Protected Attributes

Item waitinglist = {std::pair{node_t{}, uint32_t(0)}}
const SimpleNetlist &H
std::vector<bpqueue<node_t>> gainbucket
std::uint8_t K