Essentia
2.1-beta6-dev
|
Classes | |
class | ReversePairCompare |
class | NetworkNode |
class | Network |
class | NetworkParser |
Typedefs | |
typedef std::vector< streaming::Algorithm * > | AlgoVector |
typedef std::set< streaming::Algorithm * > | AlgoSet |
typedef std::vector< NetworkNode * > | NodeVector |
typedef std::set< NetworkNode * > | NodeSet |
typedef std::stack< NetworkNode * > | NodeStack |
Functions | |
template<typename NodeType > | |
void | depthFirstApply (NodeType *root, void(*nodeFunc)(NodeType *node)) |
template<typename NodeType , typename MappedType > | |
std::vector< MappedType > | depthFirstMap (NodeType *root, MappedType(*mapFunc)(NodeType *node)) |
template<typename NodeType > | |
NodeType * | returnIdentity (NodeType *node) |
template<typename NodeType > | |
std::vector< NodeType * > | depthFirstSearch (NodeType *root) |
std::string | removeNodeIdFromName (const std::string &name) |
std::pair< NetworkNode *, std::string > | getIdentityAndName (NetworkNode *node) |
streaming::Algorithm * | returnAlgorithm (NetworkNode *node) |
template<typename NodeType > | |
void | adjacencyMatrix (const std::vector< std::pair< NodeType *, std::string > > &nodes, std::vector< std::vector< bool > > &adjMatrix) |
template<typename NodeType > | |
void | printAdjacencyMatrix (const std::vector< std::vector< bool > > &adjMatrix, const std::vector< std::pair< NodeType *, std::string > > &nodes) |
template<typename NodeType > | |
bool | areNetworkTopologiesEqual (NodeType *n1, NodeType *n2) |
void | deleteNetwork (const streaming::Algorithm *algo) |
void | printNetworkBufferFillState () |
AlgoVector | computeDependencies (const streaming::Algorithm *algo) |
AlgoVector | computeNormalDependencies (const streaming::Algorithm *algo) |
AlgoVector | computeCompositeDependencies (const streaming::Algorithm *algo) |
void | cacheDependencies (streaming::Algorithm *algo) |
AlgoSet | compositeInnerAlgos (streaming::Algorithm *algo) |
AlgoSet | parentBranchInsideComposite (streaming::AlgorithmComposite *composite, streaming::Algorithm *algo) |
typedef std::set<streaming::Algorithm*> AlgoSet |
typedef std::vector<streaming::Algorithm*> AlgoVector |
typedef std::set<NetworkNode*> NodeSet |
typedef std::stack<NetworkNode*> NodeStack |
typedef std::vector<NetworkNode*> NodeVector |
void essentia::scheduler::adjacencyMatrix | ( | const std::vector< std::pair< NodeType *, std::string > > & | nodes, |
std::vector< std::vector< bool > > & | adjMatrix | ||
) |
Referenced by areNetworkTopologiesEqual().
bool essentia::scheduler::areNetworkTopologiesEqual | ( | NodeType * | n1, |
NodeType * | n2 | ||
) |
References adjacencyMatrix(), depthFirstMap(), E_DEBUG, essentia::EGraph, getIdentityAndName(), and printAdjacencyMatrix().
void essentia::scheduler::cacheDependencies | ( | streaming::Algorithm * | algo | ) |
This function computes at once all the dependencies for the network starting at the given algorithm and caches each algorithm dependencies inside the algo instance. This means that we don't have to do this each time in the scheduler, and also avoid doing any allocation while running the network.
AlgoSet essentia::scheduler::compositeInnerAlgos | ( | streaming::Algorithm * | algo | ) |
Returns the list of all algorithms which live inside of the given composite algorithm.
AlgoVector essentia::scheduler::computeCompositeDependencies | ( | const streaming::Algorithm * | algo | ) |
AlgoVector essentia::scheduler::computeDependencies | ( | const streaming::Algorithm * | algo | ) |
AlgoVector essentia::scheduler::computeNormalDependencies | ( | const streaming::Algorithm * | algo | ) |
void essentia::scheduler::deleteNetwork | ( | const streaming::Algorithm * | algo | ) |
Delete the algorithm together with its all visible dependencies without creating a network object.
void essentia::scheduler::depthFirstApply | ( | NodeType * | root, |
void(*)(NodeType *node) | nodeFunc | ||
) |
std::vector<MappedType> essentia::scheduler::depthFirstMap | ( | NodeType * | root, |
MappedType(*)(NodeType *node) | mapFunc | ||
) |
Referenced by areNetworkTopologiesEqual(), and depthFirstSearch().
std::vector<NodeType*> essentia::scheduler::depthFirstSearch | ( | NodeType * | root | ) |
References depthFirstMap().
|
inline |
References NetworkNode::algorithm(), Configurable::name(), and removeNodeIdFromName().
Referenced by areNetworkTopologiesEqual().
AlgoSet essentia::scheduler::parentBranchInsideComposite | ( | streaming::AlgorithmComposite * | composite, |
streaming::Algorithm * | algo | ||
) |
Returns the set of algorithms which are in the branch starting from the given one and going up from parent to parent. It stops whenever it goes outside of the specified composite algorithm.
void essentia::scheduler::printAdjacencyMatrix | ( | const std::vector< std::vector< bool > > & | adjMatrix, |
const std::vector< std::pair< NodeType *, std::string > > & | nodes | ||
) |
References E_DEBUG, E_DEBUG_NONL, and essentia::EGraph.
Referenced by areNetworkTopologiesEqual().
void essentia::scheduler::printNetworkBufferFillState | ( | ) |
Prints the fill state of all the buffers in the last created network.
|
inline |
Referenced by getIdentityAndName().
|
inline |
References NetworkNode::algorithm().
NodeType* essentia::scheduler::returnIdentity | ( | NodeType * | node | ) |