| #pragma once |
| |
| #include <ATen/core/Generator.h> |
| #include <torch/csrc/Export.h> |
| #include <torch/csrc/python_headers.h> |
| |
| // NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init) |
| struct THPGenerator { |
| PyObject_HEAD at::Generator cdata; |
| }; |
| |
| // Creates a new Python object wrapping the default at::Generator. The reference |
| // is borrowed. The caller should ensure that the at::Generator object lifetime |
| // last at least as long as the Python wrapper. |
| TORCH_PYTHON_API PyObject* THPGenerator_initDefaultGenerator( |
| at::Generator cdata); |
| |
| #define THPGenerator_Check(obj) PyObject_IsInstance(obj, THPGeneratorClass) |
| |
| TORCH_PYTHON_API extern PyObject* THPGeneratorClass; |
| |
| bool THPGenerator_init(PyObject* module); |
| |
| TORCH_PYTHON_API PyObject* THPGenerator_Wrap(at::Generator gen); |
| |
| // Creates a new Python object for a Generator. The Generator must not already |
| // have a PyObject* associated with it. |
| PyObject* THPGenerator_NewWithVar(PyTypeObject* type, at::Generator gen); |