diff options
Diffstat (limited to 'gr-trellis/python/trellis/bindings/interleaver_python.cc')
-rw-r--r-- | gr-trellis/python/trellis/bindings/interleaver_python.cc | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gr-trellis/python/trellis/bindings/interleaver_python.cc b/gr-trellis/python/trellis/bindings/interleaver_python.cc new file mode 100644 index 0000000000..7ea6612f92 --- /dev/null +++ b/gr-trellis/python/trellis/bindings/interleaver_python.cc @@ -0,0 +1,69 @@ +/* + * 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 and can be manually edited */ +/* The following lines can be configured to regenerate this file during cmake */ +/* If manual edits are made, the following tags should be modified accordingly. */ +/* BINDTOOL_GEN_AUTOMATIC(0) */ +/* BINDTOOL_USE_PYGCCXML(0) */ +/* BINDTOOL_HEADER_FILE(interleaver.h) */ +/* BINDTOOL_HEADER_FILE_HASH(09c02f75f85fb3281baace56cc2414cc) */ +/***********************************************************************************/ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/trellis/interleaver.h> +// pydoc.h is automatically generated in the build directory +#include <interleaver_pydoc.h> + +void bind_interleaver(py::module& m) +{ + + using interleaver = ::gr::trellis::interleaver; + + + py::class_<interleaver, std::shared_ptr<interleaver>>( + m, "interleaver", D(interleaver)) + + .def(py::init<>(), D(interleaver, interleaver, 0)) + .def(py::init<gr::trellis::interleaver const&>(), + py::arg("INTERLEAVER"), + D(interleaver, interleaver, 1)) + .def(py::init<unsigned int, std::vector<int, std::allocator<int>> const&>(), + py::arg("K"), + py::arg("INTER"), + D(interleaver, interleaver, 2)) + .def(py::init<char const*>(), py::arg("name"), D(interleaver, interleaver, 3)) + .def(py::init<unsigned int, int>(), + py::arg("K"), + py::arg("seed"), + D(interleaver, interleaver, 4)) + + + .def("K", &interleaver::K, D(interleaver, K)) + + + .def("INTER", &interleaver::INTER, D(interleaver, INTER)) + + + .def("DEINTER", &interleaver::DEINTER, D(interleaver, DEINTER)) + + + .def("write_interleaver_txt", + &interleaver::write_interleaver_txt, + py::arg("filename"), + D(interleaver, write_interleaver_txt)) + + ; +} |