F-style strides; default when constructing an array_t with `ExtraFlags & f_style`
| 29 | |
| 30 | // F-style strides; default when constructing an array_t with `ExtraFlags & f_style` |
| 31 | inline std::vector<ssize_t> f_strides(const std::vector<ssize_t> &shape, ssize_t itemsize) { |
| 32 | auto ndim = shape.size(); |
| 33 | std::vector<ssize_t> strides(ndim, itemsize); |
| 34 | for (size_t i = 1; i < ndim; ++i) { |
| 35 | strides[i] = strides[i - 1] * shape[i - 1]; |
| 36 | } |
| 37 | return strides; |
| 38 | } |
| 39 | |
| 40 | template <typename T, typename SFINAE = void> |
| 41 | struct compare_buffer_info; |