diff options
Diffstat (limited to 'gr-fec/python/fec/bindings/polar_encoder_systematic_python.cc')
-rw-r--r-- | gr-fec/python/fec/bindings/polar_encoder_systematic_python.cc | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/gr-fec/python/fec/bindings/polar_encoder_systematic_python.cc b/gr-fec/python/fec/bindings/polar_encoder_systematic_python.cc new file mode 100644 index 0000000000..1e884df436 --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_encoder_systematic_python.cc @@ -0,0 +1,80 @@ +/* + * 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(polar_encoder_systematic.h) */ +/* BINDTOOL_HEADER_FILE_HASH(3030c93396c633b5f7fdba0b4d888e9e) */ +/***********************************************************************************/ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/fec/polar_encoder_systematic.h> +// pydoc.h is automatically generated in the build directory +#include <polar_encoder_systematic_pydoc.h> + +void bind_polar_encoder_systematic(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_encoder_systematic = ::gr::fec::code::polar_encoder_systematic; + + + py::class_<polar_encoder_systematic, + gr::fec::generic_encoder, + std::shared_ptr<polar_encoder_systematic>>( + m_code, "polar_encoder_systematic", D(code, polar_encoder_systematic)) + + .def_static("make", + &polar_encoder_systematic::make, + py::arg("block_size"), + py::arg("num_info_bits"), + py::arg("frozen_bit_positions"), + D(code, polar_encoder_systematic, make)) + + + .def("generic_work", + &polar_encoder_systematic::generic_work, + py::arg("in_buffer"), + py::arg("out_buffer"), + D(code, polar_encoder_systematic, generic_work)) + + + .def("rate", + &polar_encoder_systematic::rate, + D(code, polar_encoder_systematic, rate)) + + + .def("get_input_size", + &polar_encoder_systematic::get_input_size, + D(code, polar_encoder_systematic, get_input_size)) + + + .def("get_output_size", + &polar_encoder_systematic::get_output_size, + D(code, polar_encoder_systematic, get_output_size)) + + + .def("set_frame_size", + &polar_encoder_systematic::set_frame_size, + py::arg("frame_size"), + D(code, polar_encoder_systematic, set_frame_size)) + + ; +} |