| 17 | public: |
| 18 | af::dim4 m_new_shape; |
| 19 | ModdimNode(const af::dim4& new_shape, const af::dtype type, Node_ptr child) |
| 20 | : NaryNode(type, "__noop", 1, {{child}}, af_moddims_t, |
| 21 | child->getHeight() + 1) |
| 22 | , m_new_shape(new_shape) { |
| 23 | static_assert(std::is_nothrow_move_assignable<ModdimNode>::value, |
| 24 | "ModdimNode is not move assignable"); |
| 25 | static_assert(std::is_nothrow_move_constructible<ModdimNode>::value, |
| 26 | "ModdimNode is not move constructible"); |
| 27 | } |
| 28 | |
| 29 | virtual std::unique_ptr<Node> clone() noexcept final { |
| 30 | return std::make_unique<ModdimNode>(*this); |