HAL
group_by_successors_predecessors_iteratively.cpp
Go to the documentation of this file.
2 
6 
7 namespace hal
8 {
9  namespace dataflow
10  {
11  namespace group_by_successors_predecessors_iteratively
12  {
13  std::shared_ptr<Grouping> process(const processing::Configuration& config, const std::shared_ptr<Grouping>& state, bool successors)
14  {
15  auto new_state = group_by_successors_predecessors::process(config, state, successors);
16  auto last_state = new_state;
17 
18  u32 last_candidate_set_size = state->gates_of_group.size();
19  while (new_state->gates_of_group.size() < last_candidate_set_size)
20  {
21  last_candidate_set_size = new_state->gates_of_group.size();
22  last_state = new_state;
23  new_state = group_by_successors_predecessors::process(config, new_state, successors);
24  }
25 
26  return last_state;
27  }
28 
29  } // namespace group_by_successors_predecessors_iteratively
30  } // namespace dataflow
31 } // namespace hal
std::shared_ptr< Grouping > process(const processing::Configuration &config, const std::shared_ptr< Grouping > &state, bool successors)
std::shared_ptr< Grouping > process(const processing::Configuration &config, const std::shared_ptr< Grouping > &state, bool successors)
quint32 u32
This file contains the class that holds all information of a dataflow analysis grouping.