Class MoveStateApplierCore¶
Defined in File MoveApplier.h
Class Documentation¶
-
class MoveStateApplierCore¶
节点移动执行器:将评估后的移动操作应用到分区状态中。
负责更新节点归属、资源占用、超边快照和时序增量,同时支持移动回滚。
Public Static Functions
-
static void takeMove(const MoveApplierContext &ctx, const graph &finest, vector<VectorXi> &occupied_resources, vector<int> &parts, vector<NetPartition> &partition, int node, int best_p, HSFullTiming::HSTimingDelta *delta, bool update_timing_edge = true)¶
执行节点移动:更新归属、资源、超边快照,并可选更新时序增量。
-
static void applyMoveToState(const MoveApplierContext &ctx, const Gain &gain_cell, const graph &finest, vector<int> &parts, vector<VectorXi> &occupied_resources, vector<NetPartition> &partition)¶
根据 Gain 对象无条件执行节点移动。
-
static void acceptMove(const MoveApplierContext &ctx, const Gain &gain_cell, PerPartBucketSet &buckets, vector<Gain> &moves_trace, double &total_delta_gain, vector<bool> &visited_vertices_flag, const graph &finest, vector<int> &parts, vector<VectorXi> &occupied_resources, vector<NetPartition> &partition)¶
接受移动:从桶中移除节点、记录到移动轨迹、执行状态更新。
-
static void cancelMove(const MoveApplierContext &ctx, const Gain &gain_cell, const graph &finest, vector<bool> &visited_vertices_flag, vector<int> &parts, vector<VectorXi> &occupied_resources, vector<NetPartition> &partition)¶
回滚一次移动,恢复分区状态到移动前。
-
static void takeMove(const MoveApplierContext &ctx, const graph &finest, vector<VectorXi> &occupied_resources, vector<int> &parts, vector<NetPartition> &partition, int node, int best_p, HSFullTiming::HSTimingDelta *delta, bool update_timing_edge = true)¶