FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include #include // -------------------------------------------------------- // Graph generation // -------------------------------------------------------- struct Node { std::string name; size_t idx {0}; size_t level {0}; bool visited {false}; std::atomic dependents {0}; std::vector successors; void precede(Node& n) { successors.emplace_back(&n); n.dependents ++; } }; std::unique_ptr make_dag(size_t num_nodes, size_t max_degree) { std::unique_ptr nodes(new Node[num_nodes]); // Make sure nodes are in clean state for(size_t i=0; isuccessors.size(); for(size_t i=0; isuccessors[i]->dependents.fetch_sub(1) == 1) { n->successors[i]->level = ++level; subflow.emplace([s=n->successors[i], &traverse](tf::Subflow &subflow){ traverse(s, subflow); }); } } }; size_t max_degree = 4; size_t num_nodes = 1000; for(unsigned w=1; wlevel = ++level; subflow.emplace([s=n->successors[i], &traverse](tf::Subflow &subflow){ traverse(s, subflow); }); } } }; tf::Taskflow tf; for(size_t i=0; i

Back | FazBrowse Home | New Git URL