cycle.cc File Reference

#include "cycle.h"
#include "components.h"
#include "graph.h"
Include dependency graph for cycle.cc:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function: