|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "coordinate_map_key.hpp" |
|
|
|
|
|
#include <torch/extension.h> |
|
|
#include <vector> |
|
|
|
|
|
namespace minkowski { |
|
|
|
|
|
void coordinate_map_key_test() { |
|
|
|
|
|
CoordinateMapKey key{3}; |
|
|
CoordinateMapKey key2{default_types::stride_type{2, 3, 4}}; |
|
|
} |
|
|
|
|
|
py::object coordinate_map_key_return(default_types::stride_type tensor_stride, |
|
|
std::string string_id) { |
|
|
return py::cast(new CoordinateMapKey(tensor_stride, string_id)); |
|
|
} |
|
|
|
|
|
void coordinate_map_key_update(CoordinateMapKey *map_key, |
|
|
default_types::stride_type tensor_stride, |
|
|
std::string string_id) { |
|
|
map_key->set_key(tensor_stride, string_id); |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { |
|
|
py::class_<minkowski::CoordinateMapKey>(m, "CoordinateMapKey") |
|
|
.def(py::init<minkowski::default_types::size_type>()) |
|
|
.def(py::init<minkowski::default_types::stride_type, std::string>()) |
|
|
.def("__repr__", &minkowski::CoordinateMapKey::to_string) |
|
|
.def("get_coordinate_size", |
|
|
&minkowski::CoordinateMapKey::get_coordinate_size) |
|
|
.def("get_key", &minkowski::CoordinateMapKey::get_key) |
|
|
.def("set_key", (void (minkowski::CoordinateMapKey::*)( |
|
|
minkowski::default_types::stride_type, std::string)) & |
|
|
minkowski::CoordinateMapKey::set_key) |
|
|
.def("get_tensor_stride", |
|
|
&minkowski::CoordinateMapKey::get_tensor_stride); |
|
|
|
|
|
m.def("coordinate_map_key_return", &minkowski::coordinate_map_key_return, |
|
|
"Minkowski Engine coordinate map key return test"); |
|
|
|
|
|
m.def("coordinate_map_key_test", &minkowski::coordinate_map_key_test, |
|
|
"Minkowski Engine coordinate map key test"); |
|
|
|
|
|
m.def("coordinate_map_key_update", &minkowski::coordinate_map_key_update, |
|
|
"Minkowski Engine coordinate map key update test"); |
|
|
} |
|
|
|