| 34 | namespace { |
| 35 | namespace dimshuffle { |
| 36 | std::shared_ptr<OpDef> make_from_op_node(cg::OperatorNodeBase* node_) { |
| 37 | auto* node = &node_->cast_final_safe<opr::Dimshuffle>(); |
| 38 | std::vector<int> pattern(node->param().pattern_len); |
| 39 | for (size_t i = 0; i < node->param().pattern_len; ++i) { |
| 40 | pattern[i] = node->param().pattern[i]; |
| 41 | } |
| 42 | return Dimshuffle::make(pattern); |
| 43 | } |
| 44 | |
| 45 | auto apply_on_var_node(const OpDef& def, const VarNodeArray& inputs) { |
| 46 | auto&& ds = static_cast<const Dimshuffle&>(def); |