MCPcopy
hub / github.com/hyperopt/hyperopt / toposort

Function toposort

hyperopt/pyll/base.py:692–704  ·  view source on GitHub ↗

Return apply nodes of `expr` sub-tree as a list in topological order. Raises networkx.NetworkXUnfeasible if subtree contains cycle.

(expr)

Source from the content-addressed store, hash-verified

690
691
692def toposort(expr):
693 """
694 Return apply nodes of `expr` sub-tree as a list in topological order.
695
696 Raises networkx.NetworkXUnfeasible if subtree contains cycle.
697
698 """
699 G = nx.DiGraph()
700 for node in dfs(expr):
701 G.add_edges_from([(n_in, node) for n_in in node.inputs()])
702 order = list(nx.topological_sort(G))
703 assert order[-1] == expr
704 return order
705
706
707def clone(expr, memo=None):

Callers 2

checkpointMethod · 0.85
build_idxs_valsMethod · 0.85

Calls 2

dfsFunction · 0.85
inputsMethod · 0.80

Tested by

no test coverage detected