std::pair< std::vector< std::string >, std::vector< std::vector< std::string > > > realization_order(const std::vector< Function > &outputs, std::map< std::string, Function > &env)
Given a bunch of functions that call each other, determine an order in which to do the scheduling.
std::vector< std::string > topological_order(const std::vector< Function > &outputs, const std::map< std::string, Function > &env)
Given a bunch of functions that call each other, determine a topological order which stays constant r...