| 193 | } |
| 194 | |
| 195 | dim4 toOffset(const vector<af_seq> &seqs, const dim4 &parentDims) { |
| 196 | dim4 outOffsets(0, 0, 0, 0); |
| 197 | for (unsigned i = 0; i < seqs.size(); i++) { |
| 198 | if (seqs[i].step != 0 && seqs[i].begin >= 0) { |
| 199 | outOffsets[i] = seqs[i].begin; |
| 200 | } else if (seqs[i].begin <= -1) { |
| 201 | outOffsets[i] = parentDims[i] + seqs[i].begin; |
| 202 | } else { |
| 203 | outOffsets[i] = 0; |
| 204 | } |
| 205 | |
| 206 | if (outOffsets[i] >= parentDims[i]) { |
| 207 | AF_ERROR("Index out of range", AF_ERR_SIZE); |
| 208 | } |
| 209 | } |
| 210 | return outOffsets; |
| 211 | } |
| 212 | |
| 213 | dim4 toStride(const vector<af_seq> &seqs, const af::dim4 &parentDims) { |
| 214 | dim4 out(calcStrides(parentDims)); |
no outgoing calls
no test coverage detected