From ee6c63ee659e12001ec7f995317d99d8100a151e Mon Sep 17 00:00:00 2001 From: Florian Pommerening Date: Mon, 3 Jul 2023 19:29:08 +0200 Subject: [PATCH] try factoring out python definitions --- python/test.cc | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/python/test.cc b/python/test.cc index 1a75c5321b..5b62806849 100644 --- a/python/test.cc +++ b/python/test.cc @@ -1,6 +1,8 @@ -#include + #include #include +#include #include +#include #include "command_line.h" #include "heuristic.h" @@ -42,9 +44,38 @@ class HeuristicTrampoline : public Heuristic { } }; +void init_ff(py::module_ &m) { + py::options options; + options.disable_function_signatures(); + + py::class_, Heuristic>(m, "FFHeuristic") + .def(py::init>(), py::arg("task"), py::doc(R"delimiter( + FFHeuristic + bla bla bla synopsis + + Parameters + ---------- + :param AbstractTask task: optional task transformation for this heuristic +)delimiter")); +} + +void init_ehc(py::module_ &m) { + py::options options; + options.disable_function_signatures(); + + py::class_>(m, "EHCSearch") + .def(py::init>()) + .def("search", &enforced_hill_climbing_search::EnforcedHillClimbingSearch::search, py::doc("this has some effect")) + .def("found_solution", &enforced_hill_climbing_search::EnforcedHillClimbingSearch::found_solution) + .def("get_plan", &enforced_hill_climbing_search::EnforcedHillClimbingSearch::get_plan); +} + PYBIND11_MODULE(pydownward, m) { m.doc() = "Gabi's pybind11 example plugin"; // Optional module docstring - // + + py::options options; + options.disable_function_signatures(); + m.def("read_task", &read_task, "Read the task from sas_file", py::arg("sas_file")="output.sas"); m.def("get_root_task", &tasks::get_root_task, "Get the root task"); @@ -69,12 +100,8 @@ PYBIND11_MODULE(pydownward, m) { .def(py::init>()) .def("compute_heuristic", &Heuristic::compute_heuristic); - py::class_, Heuristic>(m, "FFHeuristic") - .def(py::init>()); - - py::class_>(m, "EHCSearch") - .def(py::init>()) - .def("search", &enforced_hill_climbing_search::EnforcedHillClimbingSearch::search) - .def("found_solution", &enforced_hill_climbing_search::EnforcedHillClimbingSearch::found_solution) - .def("get_plan", &enforced_hill_climbing_search::EnforcedHillClimbingSearch::get_plan); + std::vector> init_functions = {init_ff, init_ehc}; + for(auto f : init_functions) { + f(m); + } }