From edc2e9f0482a09a1bb326a080d1e1c2a159093f8 Mon Sep 17 00:00:00 2001 From: NAUD Maxence <maxence.naud@cea.fr> Date: Fri, 5 Jul 2024 18:46:49 +0000 Subject: [PATCH] Add Tensor python constructors from shape and single value --- python_binding/data/pybind_Tensor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python_binding/data/pybind_Tensor.cpp b/python_binding/data/pybind_Tensor.cpp index 83bb4afea..60283039b 100644 --- a/python_binding/data/pybind_Tensor.cpp +++ b/python_binding/data/pybind_Tensor.cpp @@ -51,6 +51,7 @@ void addCtor(py::class_<Tensor, return newTensor; }), py::arg("array"), py::arg("backend")="cpu") + .def(py::init<T>(), py::arg("val")) .def("__setitem__", (void (Tensor::*)(std::size_t, T)) &Tensor::set) .def("__setitem__", (void (Tensor::*)(std::vector<std::size_t>, T)) &Tensor::set) ; @@ -73,6 +74,7 @@ void init_Tensor(py::module& m){ (m,"Tensor", py::multiple_inheritance(), py::buffer_protocol()); pyClassTensor.def(py::init<>()) + .def(py::init<const std::vector<std::size_t>&>(), py::arg("dims")) .def(py::self + py::self) .def(py::self - py::self) .def(py::self * py::self) @@ -86,7 +88,7 @@ void init_Tensor(py::module& m){ .def("dtype", &Tensor::dataType) .def("size", &Tensor::size) .def("capacity", &Tensor::capacity) - .def("resize", (void (Tensor::*)(const std::vector<DimSize_t>&, std::vector<DimSize_t>)) &Tensor::resize) + .def("resize", (void (Tensor::*)(const std::vector<DimSize_t>&, std::vector<DimSize_t>)) &Tensor::resize, py::arg("dims"), py::arg("strides") = std::vector<DimSize_t>()) .def("has_impl", &Tensor::hasImpl) .def("get_coord", &Tensor::getCoord) .def("get_idx", &Tensor::getIdx) -- GitLab