| 188 | } |
| 189 | |
| 190 | size_t join(const FlatArray<size_t> full_indices, const MultiIndex &multi_idx) { |
| 191 | const auto &strides = multi_idx.Strides(); |
| 192 | size_t res = 0; |
| 193 | for (size_t i: Range(multi_idx.Size())) |
| 194 | res += full_indices[multi_idx[i].pos] * strides[i]; |
| 195 | return res; |
| 196 | } |
| 197 | |
| 198 | Array<size_t> split(size_t full_index, const MultiIndex &multi_idx) { |
| 199 | const auto &strides = multi_idx.Strides(); |
no test coverage detected