| 54 | } |
| 55 | |
| 56 | void index_to_dst( |
| 57 | const float* result, float* dst, const size_t OC, const size_t OH, |
| 58 | const size_t OW, unsigned int* maskInd, const size_t maskN) { |
| 59 | const float* addr = result; |
| 60 | rep(oc, OC) rep(ind, maskN) { |
| 61 | size_t oh = maskInd[ind] >> 16; |
| 62 | size_t ow = maskInd[ind] & 0xFFFF; |
| 63 | dst[oc * OH * OW + oh * OW + ow] = *addr++; |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | template <typename ctype> |
| 68 | void exec_internel( |