Returns the strides for `shape`.
| 149 | |
| 150 | // Returns the strides for `shape`. |
| 151 | std::vector<int64> StridesForShape(const Shape& shape) { |
| 152 | std::vector<int64> strides; |
| 153 | CHECK(shape.IsArray()); |
| 154 | CHECK(shape.has_layout()); |
| 155 | |
| 156 | strides.resize(shape.dimensions_size()); |
| 157 | int64 stride = 1; |
| 158 | for (int i : shape.layout().minor_to_major()) { |
| 159 | strides.at(i) = stride; |
| 160 | stride *= shape.dimensions(i); |
| 161 | } |
| 162 | return strides; |
| 163 | } |
| 164 | |
| 165 | StatusOr<std::vector<int64>> StridesToLayout(absl::Span<int64 const> dims, |
| 166 | absl::Span<int64 const> strides) { |
no test coverage detected