60 for(boost::tie(vIt, vEnd) = boost::vertices(*data); vIt != vEnd; vIt++)
62 if(!asap->is_scheduled(*vIt))
67 -alap->get_cstep(*vIt).second +
68 asap->get_cstep(*vIt).second);
73 unsigned int _ctrl_step_multiplier)
74 : ready_nodes(_ready_nodes), ctrl_step_multiplier(_ctrl_step_multiplier)
81 for(boost::tie(vIt, vEnd) = boost::vertices(*data); vIt != vEnd; vIt++)
83 if(!asap->is_scheduled(*vIt))
88 -alap->get_cstep(*vIt).second +
89 asap->get_cstep(*vIt).second);
114 auto it_end = priority_value.end();
115 for(
auto it = priority_value.begin(); it != it_end; ++it)
virtual int & operator[](const vertex &_a)
return the priority associated with the vertex.
const OpVertexSet & ready_nodes
set of ready vertices.
Dest from_strongtype_cast(Source source)
absl::flat_hash_map< T, U, Hash, Eq, Alloc > CustomUnorderedMapUnstable
A set of operation vertices.
priority_fixed(const CustomUnorderedMapUnstable< vertex, int > &priority_value)
Constructor.
bool update() override
This specialization does update the priorities at the end of the control step only of ready nodes...
This package is used to drive the list based algorithm with different type of priority schemes...
Class specifying ALAP and ASAP algorithms.
unsigned int ctrl_step_multiplier
multiplier used to take into account chaining during asap/alap computation
Data structure used to store the schedule of the operations.
priority_static_mobility(const ASLAPRef &aslap)
Constructor.
boost::graph_traits< graph >::vertex_iterator VertexIterator
vertex_iterator definition.
priority_dynamic_mobility(const ASLAPRef &aslap, const OpVertexSet &_ready_nodes, unsigned int _ctrl_step_multiplier)
Constructor.
Data structures used in operations graph.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...