From e15c0e9aec6d02f53fb3d6938f3208c24bb7e2f1 Mon Sep 17 00:00:00 2001 From: Charles Villard <charles.villard@cea.fr> Date: Thu, 30 Jan 2025 17:24:39 +0100 Subject: [PATCH] add: pybind: add filter using bitwise enum --- python_binding/graph/pybind_GraphView.cpp | 1 + python_binding/operator/pybind_Operator.cpp | 12 +++++++----- python_binding/pybind_core.cpp | 12 ++++++------ 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/python_binding/graph/pybind_GraphView.cpp b/python_binding/graph/pybind_GraphView.cpp index abb1a9eca..37576b695 100644 --- a/python_binding/graph/pybind_GraphView.cpp +++ b/python_binding/graph/pybind_GraphView.cpp @@ -50,6 +50,7 @@ void init_GraphView(py::module& m) { )mydelimiter") .def("get_input_nodes", &GraphView::inputNodes, + py::arg("filter") = Aidge::InputCategory::All, R"mydelimiter( Get set of input Nodes. diff --git a/python_binding/operator/pybind_Operator.cpp b/python_binding/operator/pybind_Operator.cpp index 18708adee..94b41f691 100644 --- a/python_binding/operator/pybind_Operator.cpp +++ b/python_binding/operator/pybind_Operator.cpp @@ -28,11 +28,13 @@ void init_Operator(py::module& m){ .value("Data", OperatorType::Data) .value("Tensor", OperatorType::Tensor); - py::enum_<InputCategory>(m, "InputCategory") - .value("Data", InputCategory::Data) - .value("Param", InputCategory::Param) - .value("OptionalData", InputCategory::OptionalData) - .value("OptionalParam", InputCategory::OptionalParam); + py::enum_<Aidge::InputCategory>(m, "InputCategory", py::arithmetic()) + .value("Optional", Aidge::InputCategory::Optional) + .value("Data", Aidge::InputCategory::Data) + .value("OptionalData", Aidge::InputCategory::OptionalData) + .value("Param", Aidge::InputCategory::Param) + .value("OptionalParam", Aidge::InputCategory::OptionalParam) + .value("All", Aidge::InputCategory::All); py::class_<Operator, std::shared_ptr<Operator>>(m, "Operator") .def("__repr__", &Operator::repr) diff --git a/python_binding/pybind_core.cpp b/python_binding/pybind_core.cpp index 7fef82847..ee10cc068 100644 --- a/python_binding/pybind_core.cpp +++ b/python_binding/pybind_core.cpp @@ -132,12 +132,6 @@ void init_Aidge(py::module& m) { init_Attributes(m); init_Spikegen(m); - init_Node(m); - init_GraphView(m); - init_OpArgs(m); - init_Connector(m); - init_SinglePassGraphMatching(m); - init_OperatorImpl(m); init_Log(m); init_Operator(m); @@ -146,6 +140,12 @@ void init_Aidge(py::module& m) { init_StaticAnalysis(m); init_DynamicAnalysis(m); + init_Node(m); + init_GraphView(m); + init_OpArgs(m); + init_Connector(m); + init_SinglePassGraphMatching(m); + init_Abs(m); init_Add(m); init_And(m); -- GitLab