| 10 | ivec4 stride; // NCHW |
| 11 | }; |
| 12 | static void writeNCHW(NCHWInfo& dims, Tensor* origin) { |
| 13 | MNN_ASSERT(origin->dimensions() >= 2); |
| 14 | int w = 1; |
| 15 | int h = 1; |
| 16 | int b = origin->length(0); |
| 17 | int c = origin->length(1); |
| 18 | if (origin->dimensions() >= 3) { |
| 19 | h = origin->length(2); |
| 20 | } |
| 21 | for (int i=3; i<origin->dimensions(); ++i) { |
| 22 | w *= origin->length(i); |
| 23 | } |
| 24 | dims.size[0] = b; |
| 25 | dims.size[1] = c; |
| 26 | dims.size[2] = h; |
| 27 | dims.size[3] = w; |
| 28 | dims.stride[0] = c * h * w; |
| 29 | dims.stride[1] = h * w; |
| 30 | dims.stride[2] = w; |
| 31 | dims.stride[3] = 1; |
| 32 | } |
| 33 | struct SamplerInfo { |
| 34 | ivec4 stride;//stride[3] + offset |
| 35 | ivec4 size;//size[3] + totalSize |
no test coverage detected