| 10 | namespace split { |
| 11 | |
| 12 | void exec_generic( |
| 13 | const TensorND& src, const TensorNDArray& dsts, size_t A, size_t B, size_t C, |
| 14 | size_t* Bv) { |
| 15 | rep(a, A) { |
| 16 | size_t b = 0u; |
| 17 | rep(i, dsts.size()) { |
| 18 | auto sptr = src.ptr<dt_float32>() + (a * B + b) * C; |
| 19 | auto dptr = dsts[i].ptr<dt_float32>() + a * Bv[i] * C; |
| 20 | std::memcpy(dptr, sptr, sizeof(float) * (Bv[i] * C)); |
| 21 | b += Bv[i]; |
| 22 | } |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | } // namespace split |
| 27 | } // namespace fallback |