#include namespace torch::jit::mobile { static std::unordered_map>& primOpsFnTable() { static std::unordered_map> prim_ops_fn; return prim_ops_fn; } void registerPrimOpsFunction( const std::string& name, const std::function& fn) { primOpsFnTable()[name] = fn; } bool hasPrimOpsFn(const std::string& name) { return primOpsFnTable().count(name); } std::function& getPrimOpsFn(const std::string& name) { TORCH_CHECK( hasPrimOpsFn(name), "Prim Ops Function for ", name, " is not promoted yet."); return primOpsFnTable()[name]; } } // namespace torch::jit::mobile