| #pragma once |
| |
| #include <torch/csrc/python_headers.h> |
| |
| #include <ATen/Layout.h> |
| |
| #include <string> |
| |
| const int LAYOUT_NAME_LEN = 64; |
| |
| struct THPLayout { |
| PyObject_HEAD at::Layout layout; |
| // NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays) |
| char name[LAYOUT_NAME_LEN + 1]; |
| }; |
| |
| extern PyTypeObject THPLayoutType; |
| |
| inline bool THPLayout_Check(PyObject* obj) { |
| return Py_TYPE(obj) == &THPLayoutType; |
| } |
| |
| PyObject* THPLayout_New(at::Layout layout, const std::string& name); |
| |
| void THPLayout_init(PyObject* module); |