cycle.cc File Reference
#include "cycle.h"
#include "components.h"
#include "graph.h"
Functions | |
static v_uint | getAdjacentActors (uint a, v_uint &nodeId, v_uint &actorId, vector< v_uint > &graph, uint nrNodes) |
static void | simpleCycleVisit (uint a, SDFgraph *g, v_uint &nodeId, v_uint &actorId, vector< v_uint > &graph, uint size, v_int &color, v_uint &pi, SDFgraphCycles &cycles) |
SDFgraphCycles | findSimpleCycles (SDFgraph *g, bool transpose) |
static void | simpleCycleVisit (uint a, SDFgraph *g, v_uint &nodeId, v_uint &actorId, vector< v_uint > &graph, uint size, v_int &color, v_uint &pi, SDFgraphCycle &cycle) |
SDFgraphCycle | findSimpleCycle (SDFgraph *g, bool transpose) |
Function Documentation
SDFgraphCycle findSimpleCycle | ( | SDFgraph * | g, | |
bool | transpose | |||
) |
findSimpleCycle () The function performs a depth first search on the graph to discover a simple cycles in the graph. The first cycle found is returned.
References color, SDFgraph::getActor(), getAdjacentActors(), SDFgraph::nrActors(), pi, sdfComponentToGraph(), simpleCycleVisit(), and stronglyConnectedComponents().
Referenced by distributeInitialTokensInComponent().
SDFgraphCycles findSimpleCycles | ( | SDFgraph * | g, | |
bool | transpose | |||
) |
findSimpleCycles () The function performs a depth first search on the graph to discover all simple cycles in the graph
References color, SDFgraph::getActor(), getAdjacentActors(), SDFgraph::nrActors(), pi, sdfComponentToGraph(), simpleCycleVisit(), and stronglyConnectedComponents().
Referenced by analyzeSDFG(), SDF3Flow::estimateLatencyConstraints(), and LoadBalanceBinding::estimateMaxCycleMean().
static v_uint getAdjacentActors | ( | uint | a, | |
v_uint & | nodeId, | |||
v_uint & | actorId, | |||
vector< v_uint > & | graph, | |||
uint | nrNodes | |||
) | [static] |
getAdjacentActors () The function returns a list with actors directly reachable from actor a.
References v.
Referenced by findSimpleCycle(), findSimpleCycles(), and simpleCycleVisit().
static void simpleCycleVisit | ( | uint | a, | |
SDFgraph * | g, | |||
v_uint & | nodeId, | |||
v_uint & | actorId, | |||
vector< v_uint > & | graph, | |||
uint | size, | |||
v_int & | color, | |||
v_uint & | pi, | |||
SDFgraphCycle & | cycle | |||
) | [static] |
simpleCycleVisit () The visitor function of the DFS based algorithm used for detecting simple cycles.
References SDFgraph::getActor(), getAdjacentActors(), and simpleCycleVisit().
static void simpleCycleVisit | ( | uint | a, | |
SDFgraph * | g, | |||
v_uint & | nodeId, | |||
v_uint & | actorId, | |||
vector< v_uint > & | graph, | |||
uint | size, | |||
v_int & | color, | |||
v_uint & | pi, | |||
SDFgraphCycles & | cycles | |||
) | [static] |
simpleCycleVisit () The visitor function of the DFS based algorithm used for detecting simple cycles.
References SDFgraph::getActor(), and getAdjacentActors().
Referenced by findSimpleCycle(), findSimpleCycles(), and simpleCycleVisit().