#pragma once #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/SmallVector.h" namespace onnx_mlir { llvm::SmallVector computeRowMajorStrides(llvm::ArrayRef shape); llvm::SmallVector delinearizeIndex(int64_t linearIndex, llvm::ArrayRef shape, llvm::ArrayRef strides); int64_t linearizeIndex(llvm::ArrayRef indices, llvm::ArrayRef strides); int64_t getNumElements(llvm::ArrayRef shape); bool isMemoryContiguous(llvm::ArrayRef srcShape, llvm::ArrayRef offsets, llvm::ArrayRef sizes, llvm::ArrayRef strides); } // namespace onnx_mlir