| 284 | } |
| 285 | |
| 286 | py::object device2obj(py::handle device, bool mapping = false) { |
| 287 | if (device.ptr() == Py_None) { |
| 288 | return py::cast(CompNode::load(get_default_device())); |
| 289 | } else if (py::isinstance<py::str>(device)) { |
| 290 | if (mapping) { |
| 291 | py::object dmap = getattr( |
| 292 | py::reinterpret_borrow<py::object>((PyObject*)py_tensor_type), |
| 293 | "dmap_callback"); |
| 294 | if (dmap.ptr() != Py_None) { |
| 295 | return device2obj(dmap(device), false); |
| 296 | } |
| 297 | } |
| 298 | return py::cast(CompNode::load(device.cast<std::string>())); |
| 299 | |
| 300 | } else if (py::isinstance<CompNode>(device)) { |
| 301 | return py::reinterpret_borrow<py::object>(device); |
| 302 | } else { |
| 303 | return getattr(device, "_cn"); |
| 304 | } |
| 305 | } |
| 306 | |
| 307 | py::object _Const(py::handle value, py::handle dtype, py::handle device) { |
| 308 | py::object val = py::reinterpret_borrow<py::object>(value); |
no test coverage detected