Program Listing for File StrategyRunner.h

Return to documentation for file (src/partition/refine/pipeline/StrategyRunner.h)

#ifndef PARTITION_REFINE_PIPELINE_STRATEGYRUNNER_H_
#define PARTITION_REFINE_PIPELINE_STRATEGYRUNNER_H_

#include "refine/core/RefinementContext.h"
#include "refine/strategy/IRefineStrategy.h"


class StrategyRunner {
 public:
  static double runStrategyLoop(
      IRefineStrategy &strategy, const RefinementConfig &config,
      const RefinementSession &session, const graph &finest, vector<int> &parts,
      vector<VectorXi> &occupied_resources, vector<NetPartition> &partition,
      vector<vector<int>> &cut_weights, int thread_order, int cur_level,
      int multilevel_id, const fpga &fpgas);

  static double refinementNew(
      const RefinementConfig &config, const RefinementSession &session,
      const graph &finest, vector<int> &parts, const fpga &fpgas,
      vector<VectorXi> &occupied_resources, int thread_order,
      int remaining_solutions, HSFullTiming::HSPartitionFlow &pFlow,
      float &worst_slack, bool decreaseMaxHopCntPriority = true);
};

#endif