From d4d93496014d0561bc3351a1af513a8d223de92d Mon Sep 17 00:00:00 2001 From: Simon Rohou Date: Fri, 14 Feb 2025 17:46:05 +0100 Subject: [PATCH] [py] added binding for CtcDist --- python/src/core/CMakeLists.txt | 1 + python/src/core/codac2_py_core.cpp | 2 ++ .../core/contractors/codac2_py_CtcDist.cpp | 35 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 python/src/core/contractors/codac2_py_CtcDist.cpp diff --git a/python/src/core/CMakeLists.txt b/python/src/core/CMakeLists.txt index 015c04da..0a80037c 100644 --- a/python/src/core/CMakeLists.txt +++ b/python/src/core/CMakeLists.txt @@ -15,6 +15,7 @@ contractors/codac2_py_CtcAction.cpp contractors/codac2_py_CtcCartProd.cpp contractors/codac2_py_CtcCtcBoundary.cpp + contractors/codac2_py_CtcDist.cpp contractors/codac2_py_CtcEmpty.cpp contractors/codac2_py_CtcFixpoint.cpp contractors/codac2_py_CtcInnerOuter.cpp diff --git a/python/src/core/codac2_py_core.cpp b/python/src/core/codac2_py_core.cpp index 15e5768e..5c4d49d5 100644 --- a/python/src/core/codac2_py_core.cpp +++ b/python/src/core/codac2_py_core.cpp @@ -34,6 +34,7 @@ py::class_,pyCtcIntervalVector> export_CtcIntervalVector void export_CtcAction(py::module& m, py::class_,pyCtcIntervalVector>& ctc); void export_CtcCartProd(py::module& m, py::class_,pyCtcIntervalVector>& ctc); void export_CtcCtcBoundary(py::module& m, py::class_,pyCtcIntervalVector>& ctc); +void export_CtcDist(py::module& m, py::class_,pyCtcIntervalVector>& ctc); void export_CtcEmpty(py::module& m, py::class_,pyCtcIntervalVector>& ctc); void export_CtcFixpoint(py::module& m, py::class_,pyCtcIntervalVector>& ctc); void export_CtcIdentity(py::module& m, py::class_,pyCtcIntervalVector>& ctc); @@ -137,6 +138,7 @@ PYBIND11_MODULE(_core, m) export_CtcAction(m, py_ctc_iv); export_CtcCartProd(m, py_ctc_iv); export_CtcCtcBoundary(m, py_ctc_iv); + export_CtcDist(m, py_ctc_iv); export_CtcEmpty(m, py_ctc_iv); export_CtcFixpoint(m, py_ctc_iv); export_CtcIdentity(m, py_ctc_iv); diff --git a/python/src/core/contractors/codac2_py_CtcDist.cpp b/python/src/core/contractors/codac2_py_CtcDist.cpp new file mode 100644 index 00000000..b22377e5 --- /dev/null +++ b/python/src/core/contractors/codac2_py_CtcDist.cpp @@ -0,0 +1,35 @@ +/** + * Codac binding (core) + * ---------------------------------------------------------------------------- + * \date 2024 + * \author Simon Rohou + * \copyright Copyright 2024 Codac Team + * \license GNU Lesser General Public License (LGPL) + */ + +#include +#include +#include +#include +#include +#include "codac2_py_Ctc.h" +#include "codac2_py_CtcDist_docs.h" // Generated file from Doxygen XML (doxygen2docstring.py): + +using namespace std; +using namespace codac2; +namespace py = pybind11; +using namespace pybind11::literals; + +void export_CtcDist(py::module& m, py::class_,pyCtcIntervalVector>& pyctc) +{ + py::class_ exported(m, "CtcDist", pyctc, CTCDIST_MAIN); + exported + + .def(py::init<>(), + CTCDIST_CTCDIST) + + .def(CONTRACT_BOX_METHOD(CtcDist, + VOID_CTCDIST_CONTRACT_INTERVALVECTOR_REF_CONST)) + + ; +} \ No newline at end of file