12345678910111213141516171819202122232425262728 |
- #pragma once
- #ifdef _DEBUG
- #undef _DEBUG
- #include <Python.h>
- #define _DEBUG
- #else
- #include <Python.h>
- #endif
- #define _CONCAT(A, B) A##B
- #define CONCAT(A, B) _CONCAT(A, B)
- #define _STRINGIFY(A) #A
- #define STRINGIFY(A) _STRINGIFY(A)
- // A version of the TORCH_LIBRARY macro that expands the NAME, i.e. so NAME
- // could be a macro instead of a literal token.
- #define TORCH_LIBRARY_EXPAND(NAME, MODULE) TORCH_LIBRARY(NAME, MODULE)
- // REGISTER_EXTENSION allows the shared library to be loaded and initialized
- // via python's import statement.
- #define REGISTER_EXTENSION(NAME) \
- PyMODINIT_FUNC CONCAT(PyInit_, NAME)() { \
- static struct PyModuleDef module = {PyModuleDef_HEAD_INIT, \
- STRINGIFY(NAME), nullptr, 0, nullptr}; \
- return PyModule_Create(&module); \
- }
|