Macaulay2 Engine
Loading...
Searching...
No Matches

◆ makeDependencyGraph()

void makeDependencyGraph ( int nlevels,
int nslanted_degrees )

Definition at line 96 of file res-tasking-example.cpp.

97{
98 for (int lev = 0; lev < nlevels; ++lev) nodes.emplace_back(std::vector<NodePtr>(nslanted_degrees));
99
100 // Create the nodes
101 for (int lev=0; lev<nlevels; ++lev)
102 for (int sldeg=0; sldeg < nslanted_degrees; ++sldeg)
103 nodes[lev][sldeg] = createNode(G, lev, sldeg);
104
105 // Add the edges
106 for (int lev=0; lev<nlevels; ++lev)
107 for (int sldeg=0; sldeg < nslanted_degrees; ++sldeg)
108 {
109 if (lev > 0)
110 tbb::flow::make_edge(* nodes[lev-1][sldeg], * nodes[lev][sldeg]);
111 if (sldeg > 0)
112 tbb::flow::make_edge(* nodes[lev][sldeg-1], * nodes[lev][sldeg]);
113 }
114}
NodePtr createNode(tbb::flow::graph &G, int lev, int sldeg)
std::vector< std::vector< NodePtr > > nodes
tbb::flow::graph G

References createNode(), G, and nodes.

Referenced by main(), SchreyerFrame::minimalBettiNumbers(), and SchreyerFrame::start_computation().