| 29 | namespace common { |
| 30 | |
| 31 | Node_ptr copyModdims(const Node_ptr &in, const af::dim4 &newDim) { |
| 32 | |
| 33 | Node_ptr out = in->clone(); |
| 34 | for(int i = 0; i < in->kMaxChildren && in->m_children[i] != nullptr; ++i) { |
| 35 | out->m_children[i] = copyModdims(in->m_children[i], newDim); |
| 36 | } |
| 37 | if(out->isBuffer()) out->modDims(newDim); |
| 38 | |
| 39 | return out; |
| 40 | } |
| 41 | |
| 42 | template<typename T> |
| 43 | Array<T> moddimOp(const Array<T> &in, af::dim4 outDim) { |