MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / _replace_oprs

Function _replace_oprs

imperative/python/src/graph_rt.cpp:89–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87
88typedef std::vector<mgb::cg::OperatorNodeBase*> OperatorArray;
89std::vector<mgb::cg::VarNode*> _replace_oprs(
90 const OperatorArray& repl_src, const OperatorArray& repl_dst,
91 const std::vector<mgb::cg::VarNode*>& vars) {
92 mgb::ThinHashMap<mgb::cg::OperatorNodeBase*, mgb::cg::OperatorNodeBase*> oprmap;
93 for (size_t i = 0; i < repl_src.size(); ++i) {
94 oprmap[repl_src[i]] = repl_dst[i];
95 }
96 const SymbolVarArray symvars(vars.begin(), vars.end());
97 auto sym_result = mgb::cg::replace_oprs(symvars, oprmap);
98 std::vector<mgb::cg::VarNode*> result;
99 for (auto symvar : sym_result) {
100 result.push_back(symvar.node());
101 }
102 return result;
103}
104
105void _set_priority_to_id(const std::vector<mgb::cg::VarNode*>& dest_vars) {
106 auto on_opr = [](mgb::cg::OperatorNodeBase* opr) {

Callers

nothing calls this directly

Calls 6

replace_oprsFunction · 0.85
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45
nodeMethod · 0.45

Tested by

no test coverage detected