From 25d5e75363199413239e5c69dda2c41faca896ac Mon Sep 17 00:00:00 2001
From: Josh Morman <mormjb@gmail.com>
Date: Thu, 23 Apr 2020 10:57:01 -0400
Subject: trellis: add pybind11 bindings

---
 .../python/trellis/bindings/permutation_python.cc  | 73 ++++++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 gr-trellis/python/trellis/bindings/permutation_python.cc

(limited to 'gr-trellis/python/trellis/bindings/permutation_python.cc')

diff --git a/gr-trellis/python/trellis/bindings/permutation_python.cc b/gr-trellis/python/trellis/bindings/permutation_python.cc
new file mode 100644
index 0000000000..5eb933ebd5
--- /dev/null
+++ b/gr-trellis/python/trellis/bindings/permutation_python.cc
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/trellis/permutation.h>
+// pydoc.h is automatically generated in the build directory
+#include <permutation_pydoc.h>
+
+void bind_permutation(py::module& m)
+{
+
+    using permutation = ::gr::trellis::permutation;
+
+
+    py::class_<permutation,
+               gr::sync_block,
+               gr::block,
+               gr::basic_block,
+               std::shared_ptr<permutation>>(m, "permutation", D(permutation))
+
+        .def(py::init(&permutation::make),
+             py::arg("K"),
+             py::arg("TABLE"),
+             py::arg("SYMS_PER_BLOCK"),
+             py::arg("NBYTES"),
+             D(permutation, make))
+
+
+        .def("K", &permutation::K, D(permutation, K))
+
+
+        .def("TABLE", &permutation::TABLE, D(permutation, TABLE))
+
+
+        .def("SYMS_PER_BLOCK",
+             &permutation::SYMS_PER_BLOCK,
+             D(permutation, SYMS_PER_BLOCK))
+
+
+        .def("BYTES_PER_SYMBOL",
+             &permutation::BYTES_PER_SYMBOL,
+             D(permutation, BYTES_PER_SYMBOL))
+
+
+        .def("set_K", &permutation::set_K, py::arg("K"), D(permutation, set_K))
+
+
+        .def("set_TABLE",
+             &permutation::set_TABLE,
+             py::arg("table"),
+             D(permutation, set_TABLE))
+
+
+        .def("set_SYMS_PER_BLOCK",
+             &permutation::set_SYMS_PER_BLOCK,
+             py::arg("spb"),
+             D(permutation, set_SYMS_PER_BLOCK))
+
+        ;
+}
-- 
cgit v1.2.3