| 439 | } |
| 440 | |
| 441 | std::size_t shape::index(std::initializer_list<std::size_t> l) const |
| 442 | { |
| 443 | if(this->dynamic()) |
| 444 | { |
| 445 | MIGRAPHX_THROW("SHAPE: index() called on dynamic shape"); |
| 446 | } |
| 447 | assert(l.size() <= this->lens().size()); |
| 448 | assert(this->lens().size() == this->strides().size()); |
| 449 | return std::inner_product(l.begin(), l.end(), this->strides().begin(), std::size_t{0}); |
| 450 | } |
| 451 | |
| 452 | std::size_t shape::index(const std::vector<std::size_t>& l) const |
| 453 | { |