diff options
author | Josh Morman <mormjb@gmail.com> | 2020-04-23 08:57:13 -0400 |
---|---|---|
committer | Josh Morman <mormjb@gmail.com> | 2020-06-04 10:05:47 -0400 |
commit | ac45d95b4ee421b1e1a76ba199a490a603c15c6b (patch) | |
tree | 5ae672e16f30c63c5b27ddbcdc085eb0fa8b5926 /gr-fec | |
parent | a49a9cced34393f3f755f58797c970c171087fa5 (diff) |
fec: add pybind11 bindings
Diffstat (limited to 'gr-fec')
99 files changed, 4271 insertions, 32 deletions
diff --git a/gr-fec/python/fec/CMakeLists.txt b/gr-fec/python/fec/CMakeLists.txt index 011d1b4d9e..0f051979ed 100644 --- a/gr-fec/python/fec/CMakeLists.txt +++ b/gr-fec/python/fec/CMakeLists.txt @@ -34,16 +34,9 @@ add_subdirectory(polar) if(ENABLE_TESTING) list(APPEND GR_TEST_PYTHON_DIRS - ${CMAKE_BINARY_DIR}/gnuradio-runtime/swig ${CMAKE_BINARY_DIR}/gnuradio-runtime/python ${CMAKE_BINARY_DIR}/gr-fec/python - ${CMAKE_BINARY_DIR}/gr-fec/swig ${CMAKE_BINARY_DIR}/gr-blocks/python - ${CMAKE_BINARY_DIR}/gr-blocks/swig - ${CMAKE_BINARY_DIR}/gr-fft/swig - ${CMAKE_BINARY_DIR}/gr-analog/swig - ${CMAKE_BINARY_DIR}/gr-digital/swig - ${CMAKE_BINARY_DIR}/gr-filter/swig ) list(APPEND GR_TEST_TARGET_DEPS gnuradio-fec) @@ -65,3 +58,5 @@ foreach(py_qa_test_file ${py_qa_test_files}) endforeach(py_qa_test_file) endif(ENABLE_TESTING) + +add_subdirectory(bindings) diff --git a/gr-fec/python/fec/__init__.py b/gr-fec/python/fec/__init__.py index eda8316a0d..2ca049a380 100644 --- a/gr-fec/python/fec/__init__.py +++ b/gr-fec/python/fec/__init__.py @@ -15,12 +15,56 @@ from __future__ import absolute_import from __future__ import unicode_literals try: - from .fec_swig import * + from .fec_python import * except ImportError: import os dirname, filename = os.path.split(os.path.abspath(__file__)) - __path__.append(os.path.join(dirname, "..", "..", "swig")) - from .fec_swig import * + __path__.append(os.path.join(dirname, "bindings")) + from .fec_python import * + +# Pybind cannot bind constructors to make functions that return a different type +# Remap make functions to __init__ here + +cc_encoder = code.cc_encoder +cc_encoder.__init__ = code.cc_encoder.make +cc_encoder_make = code.cc_encoder.make + +cc_decoder = code.cc_decoder +cc_decoder.__init__ = code.cc_decoder.make +cc_decoder_make = code.cc_decoder.make + +dummy_encoder = code.dummy_encoder +dummy_encoder.__init__ = code.dummy_encoder.make +dummy_encoder_make = code.dummy_encoder.make + +dummy_decoder = code.dummy_decoder +dummy_decoder.__init__ = code.dummy_decoder.make +dummy_decoder_make = code.dummy_decoder.make + +repetition_encoder = code.repetition_encoder +repetition_encoder.__init__ = code.repetition_encoder.make +repetition_encoder_make = code.repetition_encoder.make + +repetition_decoder = code.repetition_decoder +repetition_decoder.__init__ = code.repetition_decoder.make +repetition_decoder_make = code.repetition_decoder.make + +polar_encoder = code.polar_encoder +polar_encoder.__init__ = code.polar_encoder.make +polar_encoder_make = code.polar_encoder.make + +polar_encoder_systematic = code.polar_encoder_systematic +polar_encoder_systematic.__init__ = code.polar_encoder_systematic.make +polar_encoder_systematic_make = code.polar_encoder_systematic.make + + +ldpc_H_matrix = code.ldpc_H_matrix +ldpc_G_matrix = code.ldpc_G_matrix +ldpc_par_mtrx_encoder = code.ldpc_par_mtrx_encoder +ldpc_bit_flip_decoder = code.ldpc_bit_flip_decoder +polar_decoder_sc = code.polar_decoder_sc +polar_decoder_sc_list = code.polar_decoder_sc_list +polar_decoder_sc_systematic = code.polar_decoder_sc_systematic from .bitflip import * from .extended_encoder import extended_encoder diff --git a/gr-fec/python/fec/bindings/CMakeLists.txt b/gr-fec/python/fec/bindings/CMakeLists.txt new file mode 100644 index 0000000000..b6c6571ec4 --- /dev/null +++ b/gr-fec/python/fec/bindings/CMakeLists.txt @@ -0,0 +1,64 @@ +######################################################################## +# Python Bindings +######################################################################## + +list(APPEND fec_python_files + #alist_python.cc + async_decoder_python.cc + async_encoder_python.cc + #awgn_bp_python.cc + ber_bf_python.cc + cc_common_python.cc + cc_decoder_python.cc + cc_encoder_python.cc + ccsds_encoder_python.cc + #cldpc_python.cc + conv_bit_corr_bb_python.cc + decode_ccsds_27_fb_python.cc + decoder_python.cc + depuncture_bb_python.cc + dummy_decoder_python.cc + dummy_encoder_python.cc + encode_ccsds_27_bb_python.cc + encoder_python.cc + fec_mtrx_python.cc + generic_decoder_python.cc + generic_encoder_python.cc + #gf2mat_python.cc + #gf2vec_python.cc + ldpc_G_matrix_python.cc + ldpc_H_matrix_python.cc + ldpc_bit_flip_decoder_python.cc + ldpc_decoder_python.cc + ldpc_encoder_python.cc + ldpc_gen_mtrx_encoder_python.cc + ldpc_par_mtrx_encoder_python.cc + #maxstar_python.cc + polar_common_python.cc + polar_decoder_common_python.cc + polar_decoder_sc_python.cc + polar_decoder_sc_list_python.cc + polar_decoder_sc_systematic_python.cc + polar_encoder_python.cc + polar_encoder_systematic_python.cc + puncture_bb_python.cc + puncture_ff_python.cc + repetition_decoder_python.cc + repetition_encoder_python.cc + #rs_python.cc + tagged_decoder_python.cc + tagged_encoder_python.cc + # tpc_common_python.cc + tpc_decoder_python.cc + tpc_encoder_python.cc + # #viterbi_python.cc + python_bindings.cc) + +GR_PYBIND_MAKE(fec + ../../.. + gr::fec + "${fec_python_files}") + +target_link_libraries(fec_python PUBLIC gnuradio-runtime gnuradio-blocks gsl::gsl) + +install(TARGETS fec_python DESTINATION ${GR_PYTHON_DIR}/gnuradio/fec COMPONENT pythonapi) diff --git a/gr-fec/python/fec/bindings/async_decoder_python.cc b/gr-fec/python/fec/bindings/async_decoder_python.cc new file mode 100644 index 0000000000..8e562504ea --- /dev/null +++ b/gr-fec/python/fec/bindings/async_decoder_python.cc @@ -0,0 +1,48 @@ +/* + * 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/fec/async_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <async_decoder_pydoc.h> + +void bind_async_decoder(py::module& m) +{ + + using async_decoder = ::gr::fec::async_decoder; + + + py::class_<async_decoder, gr::block, gr::basic_block, std::shared_ptr<async_decoder>>( + m, "async_decoder", D(async_decoder)) + + .def(py::init(&async_decoder::make), + py::arg("my_decoder"), + py::arg("packed") = false, + py::arg("rev_pack") = true, + py::arg("mtu") = 1500, + D(async_decoder, make)) + + + .def("general_work", + &async_decoder::general_work, + py::arg("noutput_items"), + py::arg("ninput_items"), + py::arg("input_items"), + py::arg("output_items"), + D(async_decoder, general_work)) + + ; +} diff --git a/gr-fec/python/fec/bindings/async_encoder_python.cc b/gr-fec/python/fec/bindings/async_encoder_python.cc new file mode 100644 index 0000000000..d19db1351c --- /dev/null +++ b/gr-fec/python/fec/bindings/async_encoder_python.cc @@ -0,0 +1,49 @@ +/* + * 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/fec/async_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <async_encoder_pydoc.h> + +void bind_async_encoder(py::module& m) +{ + + using async_encoder = ::gr::fec::async_encoder; + + + py::class_<async_encoder, gr::block, gr::basic_block, std::shared_ptr<async_encoder>>( + m, "async_encoder", D(async_encoder)) + + .def(py::init(&async_encoder::make), + py::arg("my_encoder"), + py::arg("packed") = false, + py::arg("rev_unpack") = true, + py::arg("rev_pack") = true, + py::arg("mtu") = 1500, + D(async_encoder, make)) + + + .def("general_work", + &async_encoder::general_work, + py::arg("noutput_items"), + py::arg("ninput_items"), + py::arg("input_items"), + py::arg("output_items"), + D(async_encoder, general_work)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ber_bf_python.cc b/gr-fec/python/fec/bindings/ber_bf_python.cc new file mode 100644 index 0000000000..242764e623 --- /dev/null +++ b/gr-fec/python/fec/bindings/ber_bf_python.cc @@ -0,0 +1,42 @@ +/* + * 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/fec/ber_bf.h> +// pydoc.h is automatically generated in the build directory +#include <ber_bf_pydoc.h> + +void bind_ber_bf(py::module& m) +{ + + using ber_bf = ::gr::fec::ber_bf; + + + py::class_<ber_bf, gr::block, gr::basic_block, std::shared_ptr<ber_bf>>( + m, "ber_bf", D(ber_bf)) + + .def(py::init(&ber_bf::make), + py::arg("test_mode") = false, + py::arg("berminerrors") = 100, + py::arg("ber_limit") = -7., + D(ber_bf, make)) + + + .def("total_errors", &ber_bf::total_errors, D(ber_bf, total_errors)) + + + ; +} diff --git a/gr-fec/python/fec/bindings/cc_common_python.cc b/gr-fec/python/fec/bindings/cc_common_python.cc new file mode 100644 index 0000000000..ca96af99f5 --- /dev/null +++ b/gr-fec/python/fec/bindings/cc_common_python.cc @@ -0,0 +1,30 @@ +/* + * 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/fec/cc_common.h> +// pydoc.h is automatically generated in the build directory +#include <cc_decoder_pydoc.h> + +void bind_cc_common(py::module& m) +{ + py::enum_<::_cc_mode_t>(m, "_cc_mode_t") + .value("CC_STREAMING", ::CC_STREAMING) // 0 + .value("CC_TERMINATED", ::CC_TERMINATED) // 1 + .value("CC_TRUNCATED", ::CC_TRUNCATED) // 2 + .value("CC_TAILBITING", ::CC_TAILBITING) // 3 + .export_values(); +} diff --git a/gr-fec/python/fec/bindings/cc_decoder_python.cc b/gr-fec/python/fec/bindings/cc_decoder_python.cc new file mode 100644 index 0000000000..6f4a8bb724 --- /dev/null +++ b/gr-fec/python/fec/bindings/cc_decoder_python.cc @@ -0,0 +1,57 @@ +/* + * 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/fec/cc_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <cc_decoder_pydoc.h> + +void bind_cc_decoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using cc_decoder = ::gr::fec::code::cc_decoder; + + + py::class_<cc_decoder, gr::fec::generic_decoder, std::shared_ptr<cc_decoder>>( + m_code, "cc_decoder", D(code, cc_decoder)) + + // unable to use init because incompatible pointer type is returned + .def_static("make", + &cc_decoder::make, + py::arg("frame_size"), + py::arg("k"), + py::arg("rate"), + py::arg("polys"), + py::arg("start_state") = 0, + py::arg("end_state") = -1, + py::arg("mode") = ::_cc_mode_t::CC_STREAMING, + py::arg("padded") = false, + D(code, cc_decoder, make)) + + + .def("set_frame_size", + &cc_decoder::set_frame_size, + py::arg("frame_size"), + D(code, cc_decoder, set_frame_size)) + + + .def("rate", &cc_decoder::rate, D(code, cc_decoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/cc_encoder_python.cc b/gr-fec/python/fec/bindings/cc_encoder_python.cc new file mode 100644 index 0000000000..00b77aed5b --- /dev/null +++ b/gr-fec/python/fec/bindings/cc_encoder_python.cc @@ -0,0 +1,50 @@ +/* + * 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/fec/cc_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <cc_encoder_pydoc.h> + +void bind_cc_encoder(py::module& m) +{ + py::module m_code = m.def_submodule("code"); + + using cc_encoder = ::gr::fec::code::cc_encoder; + + py::class_<cc_encoder, gr::fec::generic_encoder, std::shared_ptr<cc_encoder>>( + m_code, "cc_encoder", D(code, cc_encoder)) + + .def_static("make", + &cc_encoder::make, + py::arg("frame_size"), + py::arg("k"), + py::arg("rate"), + py::arg("polys"), + py::arg("start_state") = 0, + py::arg("mode") = ::_cc_mode_t::CC_STREAMING, + py::arg("padded") = false, + D(code, cc_encoder, make)) + + .def("set_frame_size", + &cc_encoder::set_frame_size, + py::arg("frame_size"), + D(code, cc_encoder, set_frame_size)) + + .def("rate", &cc_encoder::rate, D(code, cc_encoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ccsds_encoder_python.cc b/gr-fec/python/fec/bindings/ccsds_encoder_python.cc new file mode 100644 index 0000000000..d0ea8d7235 --- /dev/null +++ b/gr-fec/python/fec/bindings/ccsds_encoder_python.cc @@ -0,0 +1,51 @@ +/* + * 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/fec/ccsds_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <ccsds_encoder_pydoc.h> + +void bind_ccsds_encoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using ccsds_encoder = ::gr::fec::code::ccsds_encoder; + + + py::class_<ccsds_encoder, gr::fec::generic_encoder, std::shared_ptr<ccsds_encoder>>( + m_code, "ccsds_encoder", D(code, ccsds_encoder)) + + .def_static("make", + &ccsds_encoder::make, + py::arg("frame_size"), + py::arg("start_state") = 0, + py::arg("mode") = ::_cc_mode_t::CC_STREAMING, + D(code, ccsds_encoder, make)) + + + .def("set_frame_size", + &ccsds_encoder::set_frame_size, + py::arg("frame_size"), + D(code, ccsds_encoder, set_frame_size)) + + + .def("rate", &ccsds_encoder::rate, D(code, ccsds_encoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/conv_bit_corr_bb_python.cc b/gr-fec/python/fec/bindings/conv_bit_corr_bb_python.cc new file mode 100644 index 0000000000..e419ad4917 --- /dev/null +++ b/gr-fec/python/fec/bindings/conv_bit_corr_bb_python.cc @@ -0,0 +1,51 @@ +/* + * 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/fec/conv_bit_corr_bb.h> +// pydoc.h is automatically generated in the build directory +#include <conv_bit_corr_bb_pydoc.h> + +void bind_conv_bit_corr_bb(py::module& m) +{ + + using conv_bit_corr_bb = ::gr::fec::conv_bit_corr_bb; + + + py::class_<conv_bit_corr_bb, + gr::block, + gr::basic_block, + std::shared_ptr<conv_bit_corr_bb>>( + m, "conv_bit_corr_bb", D(conv_bit_corr_bb)) + + .def(py::init(&conv_bit_corr_bb::make), + py::arg("correlator"), + py::arg("corr_sym"), + py::arg("corr_len"), + py::arg("cut"), + py::arg("flush"), + py::arg("thresh"), + D(conv_bit_corr_bb, make)) + + + .def("data_garble_rate", + &conv_bit_corr_bb::data_garble_rate, + py::arg("taps"), + py::arg("syn_density"), + D(conv_bit_corr_bb, data_garble_rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/decode_ccsds_27_fb_python.cc b/gr-fec/python/fec/bindings/decode_ccsds_27_fb_python.cc new file mode 100644 index 0000000000..f4449957d7 --- /dev/null +++ b/gr-fec/python/fec/bindings/decode_ccsds_27_fb_python.cc @@ -0,0 +1,40 @@ +/* + * 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/fec/decode_ccsds_27_fb.h> +// pydoc.h is automatically generated in the build directory +#include <decode_ccsds_27_fb_pydoc.h> + +void bind_decode_ccsds_27_fb(py::module& m) +{ + + using decode_ccsds_27_fb = ::gr::fec::decode_ccsds_27_fb; + + + py::class_<decode_ccsds_27_fb, + gr::sync_decimator, + gr::sync_block, + gr::block, + gr::basic_block, + std::shared_ptr<decode_ccsds_27_fb>>( + m, "decode_ccsds_27_fb", D(decode_ccsds_27_fb)) + + .def(py::init(&decode_ccsds_27_fb::make), D(decode_ccsds_27_fb, make)) + + + ; +} diff --git a/gr-fec/python/fec/bindings/decoder_python.cc b/gr-fec/python/fec/bindings/decoder_python.cc new file mode 100644 index 0000000000..dcc4a42071 --- /dev/null +++ b/gr-fec/python/fec/bindings/decoder_python.cc @@ -0,0 +1,66 @@ +/* + * 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/fec/decoder.h> +// pydoc.h is automatically generated in the build directory +#include <decoder_pydoc.h> + +void bind_decoder(py::module& m) +{ + + using decoder = ::gr::fec::decoder; + + + py::class_<decoder, gr::block, gr::basic_block, std::shared_ptr<decoder>>( + m, "decoder", D(decoder)) + + .def(py::init(&decoder::make), + py::arg("my_decoder"), + py::arg("input_item_size"), + py::arg("output_item_size"), + D(decoder, make)) + + + .def("general_work", + &decoder::general_work, + py::arg("noutput_items"), + py::arg("ninput_items"), + py::arg("input_items"), + py::arg("output_items"), + D(decoder, general_work)) + + + .def("fixed_rate_ninput_to_noutput", + &decoder::fixed_rate_ninput_to_noutput, + py::arg("ninput"), + D(decoder, fixed_rate_ninput_to_noutput)) + + + .def("fixed_rate_noutput_to_ninput", + &decoder::fixed_rate_noutput_to_ninput, + py::arg("noutput"), + D(decoder, fixed_rate_noutput_to_ninput)) + + + .def("forecast", + &decoder::forecast, + py::arg("noutput_items"), + py::arg("ninput_items_required"), + D(decoder, forecast)) + + ; +} diff --git a/gr-fec/python/fec/bindings/depuncture_bb_python.cc b/gr-fec/python/fec/bindings/depuncture_bb_python.cc new file mode 100644 index 0000000000..477e07cb6b --- /dev/null +++ b/gr-fec/python/fec/bindings/depuncture_bb_python.cc @@ -0,0 +1,40 @@ +/* + * 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/fec/depuncture_bb.h> +// pydoc.h is automatically generated in the build directory +#include <depuncture_bb_pydoc.h> + +void bind_depuncture_bb(py::module& m) +{ + + using depuncture_bb = ::gr::fec::depuncture_bb; + + + py::class_<depuncture_bb, gr::block, gr::basic_block, std::shared_ptr<depuncture_bb>>( + m, "depuncture_bb", D(depuncture_bb)) + + .def(py::init(&depuncture_bb::make), + py::arg("puncsize"), + py::arg("puncpat"), + py::arg("delay") = 0, + py::arg("symbol") = 127, + D(depuncture_bb, make)) + + + ; +} diff --git a/gr-fec/python/fec/bindings/docstrings/async_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/async_decoder_pydoc_template.h new file mode 100644 index 0000000000..b720583c19 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/async_decoder_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_async_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_async_decoder_async_decoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_async_decoder_async_decoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_async_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_async_decoder_general_work = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/async_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/async_encoder_pydoc_template.h new file mode 100644 index 0000000000..6e7691095b --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/async_encoder_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_async_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_async_encoder_async_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_async_encoder_async_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_async_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_async_encoder_general_work = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ber_bf_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ber_bf_pydoc_template.h new file mode 100644 index 0000000000..5b19061de4 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ber_bf_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_ber_bf = R"doc()doc"; + + +static const char* __doc_gr_fec_ber_bf_ber_bf_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_ber_bf_ber_bf_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_ber_bf_total_errors = R"doc()doc"; + + +static const char* __doc_gr_fec_ber_bf_make = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/cc_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/cc_decoder_pydoc_template.h new file mode 100644 index 0000000000..645e2e7433 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/cc_decoder_pydoc_template.h @@ -0,0 +1,33 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_cc_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_decoder_cc_decoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_decoder_cc_decoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_decoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_decoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/cc_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/cc_encoder_pydoc_template.h new file mode 100644 index 0000000000..08575ff4d5 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/cc_encoder_pydoc_template.h @@ -0,0 +1,33 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_cc_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_encoder_cc_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_encoder_cc_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_cc_encoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ccsds_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ccsds_encoder_pydoc_template.h new file mode 100644 index 0000000000..93e1616c49 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ccsds_encoder_pydoc_template.h @@ -0,0 +1,33 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_ccsds_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ccsds_encoder_ccsds_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ccsds_encoder_ccsds_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ccsds_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ccsds_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ccsds_encoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/conv_bit_corr_bb_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/conv_bit_corr_bb_pydoc_template.h new file mode 100644 index 0000000000..39cd93f173 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/conv_bit_corr_bb_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_conv_bit_corr_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_conv_bit_corr_bb_conv_bit_corr_bb_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_conv_bit_corr_bb_conv_bit_corr_bb_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_conv_bit_corr_bb_make = R"doc()doc"; + + +static const char* __doc_gr_fec_conv_bit_corr_bb_data_garble_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/decode_ccsds_27_fb_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/decode_ccsds_27_fb_pydoc_template.h new file mode 100644 index 0000000000..68364c8319 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/decode_ccsds_27_fb_pydoc_template.h @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_decode_ccsds_27_fb = R"doc()doc"; + + +static const char* __doc_gr_fec_decode_ccsds_27_fb_decode_ccsds_27_fb = R"doc()doc"; + + +static const char* __doc_gr_fec_decode_ccsds_27_fb_make = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/decoder_pydoc_template.h new file mode 100644 index 0000000000..85afe6ec0a --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/decoder_pydoc_template.h @@ -0,0 +1,39 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_decoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_decoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_general_work = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_fixed_rate_ninput_to_noutput = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_fixed_rate_noutput_to_ninput = R"doc()doc"; + + +static const char* __doc_gr_fec_decoder_forecast = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/depuncture_bb_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/depuncture_bb_pydoc_template.h new file mode 100644 index 0000000000..1daaa58cb7 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/depuncture_bb_pydoc_template.h @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_depuncture_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_depuncture_bb_depuncture_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_depuncture_bb_make = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/dummy_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/dummy_decoder_pydoc_template.h new file mode 100644 index 0000000000..bb91d435ac --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/dummy_decoder_pydoc_template.h @@ -0,0 +1,33 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_dummy_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_decoder_dummy_decoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_decoder_dummy_decoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_decoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_decoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/dummy_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/dummy_encoder_pydoc_template.h new file mode 100644 index 0000000000..699b523c2a --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/dummy_encoder_pydoc_template.h @@ -0,0 +1,33 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_dummy_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_encoder_dummy_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_encoder_dummy_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_dummy_encoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/encode_ccsds_27_bb_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/encode_ccsds_27_bb_pydoc_template.h new file mode 100644 index 0000000000..b3ff539b06 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/encode_ccsds_27_bb_pydoc_template.h @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_encode_ccsds_27_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_encode_ccsds_27_bb_encode_ccsds_27_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_encode_ccsds_27_bb_make = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/encoder_pydoc_template.h new file mode 100644 index 0000000000..1dc398f134 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/encoder_pydoc_template.h @@ -0,0 +1,39 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_general_work = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_fixed_rate_ninput_to_noutput = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_fixed_rate_noutput_to_ninput = R"doc()doc"; + + +static const char* __doc_gr_fec_encoder_forecast = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/fec_mtrx_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/fec_mtrx_pydoc_template.h new file mode 100644 index 0000000000..0b35a054af --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/fec_mtrx_pydoc_template.h @@ -0,0 +1,60 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_block_data = R"doc()doc"; + + +static const char* __doc_gr_fec_code_matrix = R"doc()doc"; + + +static const char* __doc_gr_fec_code_fec_mtrx = R"doc()doc"; + + +static const char* __doc_gr_fec_code_fec_mtrx_fec_mtrx = R"doc()doc"; + + +static const char* __doc_gr_fec_code_fec_mtrx_encode = R"doc()doc"; + + +static const char* __doc_gr_fec_code_fec_mtrx_decode = R"doc()doc"; + + +static const char* __doc_gr_fec_code_fec_mtrx_n = R"doc()doc"; + + +static const char* __doc_gr_fec_code_fec_mtrx_k = R"doc()doc"; + + +static const char* __doc_gr_fec_code_matrix_free = R"doc()doc"; + + +static const char* __doc_gr_fec_code_read_matrix_from_file = R"doc()doc"; + + +static const char* __doc_gr_fec_code_write_matrix_to_file = R"doc()doc"; + + +static const char* __doc_gr_fec_code_generate_G_transpose = R"doc()doc"; + + +static const char* __doc_gr_fec_code_generate_G = R"doc()doc"; + + +static const char* __doc_gr_fec_code_generate_H = R"doc()doc"; + + +static const char* __doc_gr_fec_code_print_matrix = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/generic_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/generic_decoder_pydoc_template.h new file mode 100644 index 0000000000..ed0658783d --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/generic_decoder_pydoc_template.h @@ -0,0 +1,93 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_generic_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_generic_decoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_generic_decoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_generic_decoder_2 = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_generic_work = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_unique_id = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_alias = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_history = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_shift = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_input_item_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_output_item_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_input_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_output_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_decoder_get_iterations = R"doc()doc"; + + +static const char* __doc_gr_fec_get_decoder_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_decoder_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_shift = R"doc()doc"; + + +static const char* __doc_gr_fec_get_history = R"doc()doc"; + + +static const char* __doc_gr_fec_get_decoder_input_item_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_decoder_output_item_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_decoder_input_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_get_decoder_output_conversion = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/generic_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/generic_encoder_pydoc_template.h new file mode 100644 index 0000000000..36057f6c93 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/generic_encoder_pydoc_template.h @@ -0,0 +1,66 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_generic_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_generic_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_generic_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_generic_encoder_2 = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_generic_work = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_unique_id = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_alias = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_get_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_get_input_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_get_output_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_generic_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_encoder_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_encoder_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_get_encoder_input_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_get_encoder_output_conversion = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_G_matrix_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_G_matrix_pydoc_template.h new file mode 100644 index 0000000000..5bb3172fff --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_G_matrix_pydoc_template.h @@ -0,0 +1,36 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_ldpc_G_matrix = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_G_matrix_ldpc_G_matrix_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_G_matrix_ldpc_G_matrix_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_G_matrix_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_G_matrix_encode = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_G_matrix_decode = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_G_matrix_get_base_sptr = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_H_matrix_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_H_matrix_pydoc_template.h new file mode 100644 index 0000000000..b74068acfe --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_H_matrix_pydoc_template.h @@ -0,0 +1,42 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_ldpc_H_matrix = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_ldpc_H_matrix_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_ldpc_H_matrix_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_encode = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_decode = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_n = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_k = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_H_matrix_get_base_sptr = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_bit_flip_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_bit_flip_decoder_pydoc_template.h new file mode 100644 index 0000000000..66314bc79e --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_bit_flip_decoder_pydoc_template.h @@ -0,0 +1,35 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_ldpc_bit_flip_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_bit_flip_decoder_ldpc_bit_flip_decoder_0 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_bit_flip_decoder_ldpc_bit_flip_decoder_1 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_bit_flip_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_bit_flip_decoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_bit_flip_decoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_decoder_pydoc_template.h new file mode 100644 index 0000000000..05f07725c5 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_decoder_pydoc_template.h @@ -0,0 +1,45 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_ldpc_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_ldpc_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_get_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_get_input_item_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_get_output_item_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_decoder_get_iterations = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_encoder_pydoc_template.h new file mode 100644 index 0000000000..9aff7d372b --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_encoder_pydoc_template.h @@ -0,0 +1,39 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_ldpc_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_ldpc_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_ldpc_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_ldpc_encoder_get_input_size = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_gen_mtrx_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_gen_mtrx_encoder_pydoc_template.h new file mode 100644 index 0000000000..efc24b4553 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_gen_mtrx_encoder_pydoc_template.h @@ -0,0 +1,35 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_ldpc_gen_mtrx_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_gen_mtrx_encoder_ldpc_gen_mtrx_encoder_0 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_gen_mtrx_encoder_ldpc_gen_mtrx_encoder_1 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_gen_mtrx_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_gen_mtrx_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_gen_mtrx_encoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/ldpc_par_mtrx_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/ldpc_par_mtrx_encoder_pydoc_template.h new file mode 100644 index 0000000000..5b57ccc64f --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/ldpc_par_mtrx_encoder_pydoc_template.h @@ -0,0 +1,44 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_ldpc_par_mtrx_encoder_0 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_ldpc_par_mtrx_encoder_1 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_make_H = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_ldpc_par_mtrx_encoder_get_input_size = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_common_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_common_pydoc_template.h new file mode 100644 index 0000000000..7061e88837 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_common_pydoc_template.h @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_common = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_common_polar_common_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_common_polar_common_1 = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_decoder_common_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_decoder_common_pydoc_template.h new file mode 100644 index 0000000000..b281c60814 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_decoder_common_pydoc_template.h @@ -0,0 +1,38 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_decoder_common = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_common_polar_decoder_common_0 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_common_polar_decoder_common_1 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_common_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_common_get_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_common_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_common_set_frame_size = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_list_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_list_pydoc_template.h new file mode 100644 index 0000000000..2029115dcf --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_list_pydoc_template.h @@ -0,0 +1,28 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_decoder_sc_list = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_list_polar_decoder_sc_list = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_list_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_list_generic_work = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_pydoc_template.h new file mode 100644 index 0000000000..7f0498a9b9 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_pydoc_template.h @@ -0,0 +1,27 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_decoder_sc = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_polar_decoder_sc = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_generic_work = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_systematic_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_systematic_pydoc_template.h new file mode 100644 index 0000000000..06a25bdf8d --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_decoder_sc_systematic_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_decoder_sc_systematic = R"doc()doc"; + + +static const char* + __doc_gr_fec_code_polar_decoder_sc_systematic_polar_decoder_sc_systematic = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_systematic_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_decoder_sc_systematic_generic_work = + R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_encoder_pydoc_template.h new file mode 100644 index 0000000000..cafe23b322 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_encoder_pydoc_template.h @@ -0,0 +1,45 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_polar_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_generic_work = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_get_input_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_get_output_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_get_input_conversion = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_get_output_conversion = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/polar_encoder_systematic_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/polar_encoder_systematic_pydoc_template.h new file mode 100644 index 0000000000..298dc4e806 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/polar_encoder_systematic_pydoc_template.h @@ -0,0 +1,43 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_polar_encoder_systematic = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_polar_encoder_systematic = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_generic_work = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_get_input_size = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_get_output_size = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_polar_encoder_systematic_set_frame_size = + R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/puncture_bb_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/puncture_bb_pydoc_template.h new file mode 100644 index 0000000000..4dcb6bcdbf --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/puncture_bb_pydoc_template.h @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_puncture_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_puncture_bb_puncture_bb = R"doc()doc"; + + +static const char* __doc_gr_fec_puncture_bb_make = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/puncture_ff_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/puncture_ff_pydoc_template.h new file mode 100644 index 0000000000..790e1f8625 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/puncture_ff_pydoc_template.h @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_puncture_ff = R"doc()doc"; + + +static const char* __doc_gr_fec_puncture_ff_puncture_ff = R"doc()doc"; + + +static const char* __doc_gr_fec_puncture_ff_make = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/repetition_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/repetition_decoder_pydoc_template.h new file mode 100644 index 0000000000..d033a6be66 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/repetition_decoder_pydoc_template.h @@ -0,0 +1,35 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_repetition_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_decoder_repetition_decoder_0 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_decoder_repetition_decoder_1 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_decoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_decoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/repetition_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/repetition_encoder_pydoc_template.h new file mode 100644 index 0000000000..613f03da06 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/repetition_encoder_pydoc_template.h @@ -0,0 +1,35 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_code_repetition_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_encoder_repetition_encoder_0 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_encoder_repetition_encoder_1 = + R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_encoder_set_frame_size = R"doc()doc"; + + +static const char* __doc_gr_fec_code_repetition_encoder_rate = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/tagged_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/tagged_decoder_pydoc_template.h new file mode 100644 index 0000000000..f957469ad6 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/tagged_decoder_pydoc_template.h @@ -0,0 +1,34 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_tagged_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_decoder_tagged_decoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_decoder_tagged_decoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_decoder_work = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_decoder_calculate_output_stream_length = + R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/tagged_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/tagged_encoder_pydoc_template.h new file mode 100644 index 0000000000..e0fabbd171 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/tagged_encoder_pydoc_template.h @@ -0,0 +1,34 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_tagged_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_encoder_tagged_encoder_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_encoder_tagged_encoder_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_encoder_work = R"doc()doc"; + + +static const char* __doc_gr_fec_tagged_encoder_calculate_output_stream_length = + R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/tpc_common_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/tpc_common_pydoc_template.h new file mode 100644 index 0000000000..a1e1bdd3a4 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/tpc_common_pydoc_template.h @@ -0,0 +1,40 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_tpc_common = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_tpc_common_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_tpc_common_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_parity_counter = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_rsc_enc_bit = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_precomputeStateTransitionMatrix_RSCPoly = + R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_rsc_tail = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_common_itob = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/tpc_decoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/tpc_decoder_pydoc_template.h new file mode 100644 index 0000000000..21c27ee8cb --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/tpc_decoder_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_tpc_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_decoder_tpc_decoder = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_decoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_decoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_decoder_set_frame_size = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/tpc_encoder_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/tpc_encoder_pydoc_template.h new file mode 100644 index 0000000000..5608bc2555 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/tpc_encoder_pydoc_template.h @@ -0,0 +1,30 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_tpc_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_encoder_tpc_encoder = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_encoder_make = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_encoder_rate = R"doc()doc"; + + +static const char* __doc_gr_fec_tpc_encoder_set_frame_size = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/docstrings/viterbi_pydoc_template.h b/gr-fec/python/fec/bindings/docstrings/viterbi_pydoc_template.h new file mode 100644 index 0000000000..d58776ee29 --- /dev/null +++ b/gr-fec/python/fec/bindings/docstrings/viterbi_pydoc_template.h @@ -0,0 +1,39 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ +#include "pydoc_macros.h" +#define D(...) DOC(gr, fec, __VA_ARGS__) +/* + This file contains placeholders for docstrings for the Python bindings. + Do not edit! These were automatically extracted during the binding process + and will be overwritten during the build process + */ + + +static const char* __doc_gr_fec_viterbi_state = R"doc()doc"; + + +static const char* __doc_gr_fec_viterbi_state_viterbi_state_0 = R"doc()doc"; + + +static const char* __doc_gr_fec_viterbi_state_viterbi_state_1 = R"doc()doc"; + + +static const char* __doc_gr_fec_gen_met = R"doc()doc"; + + +static const char* __doc_gr_fec_encode = R"doc()doc"; + + +static const char* __doc_gr_fec_viterbi_chunks_init = R"doc()doc"; + + +static const char* __doc_gr_fec_viterbi_butterfly2 = R"doc()doc"; + + +static const char* __doc_gr_fec_viterbi_get_output = R"doc()doc"; diff --git a/gr-fec/python/fec/bindings/dummy_decoder_python.cc b/gr-fec/python/fec/bindings/dummy_decoder_python.cc new file mode 100644 index 0000000000..83a4df6f8a --- /dev/null +++ b/gr-fec/python/fec/bindings/dummy_decoder_python.cc @@ -0,0 +1,49 @@ +/* + * 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/fec/dummy_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <dummy_decoder_pydoc.h> + +void bind_dummy_decoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using dummy_decoder = ::gr::fec::code::dummy_decoder; + + + py::class_<dummy_decoder, gr::fec::generic_decoder, std::shared_ptr<dummy_decoder>>( + m_code, "dummy_decoder", D(code, dummy_decoder)) + + .def_static("make", + &dummy_decoder::make, + py::arg("frame_size"), + D(code, dummy_decoder, make)) + + + .def("set_frame_size", + &dummy_decoder::set_frame_size, + py::arg("frame_size"), + D(code, dummy_decoder, set_frame_size)) + + + .def("rate", &dummy_decoder::rate, D(code, dummy_decoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/dummy_encoder_python.cc b/gr-fec/python/fec/bindings/dummy_encoder_python.cc new file mode 100644 index 0000000000..5f8f332848 --- /dev/null +++ b/gr-fec/python/fec/bindings/dummy_encoder_python.cc @@ -0,0 +1,51 @@ +/* + * 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/fec/dummy_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <dummy_encoder_pydoc.h> + +void bind_dummy_encoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using dummy_encoder = ::gr::fec::code::dummy_encoder; + + + py::class_<dummy_encoder, gr::fec::generic_encoder, std::shared_ptr<dummy_encoder>>( + m_code, "dummy_encoder", D(code, dummy_encoder)) + + .def_static("make", + &dummy_encoder::make, + py::arg("frame_size"), + py::arg("pack") = false, + py::arg("packed_bits") = false, + D(code, dummy_encoder, make)) + + + .def("set_frame_size", + &dummy_encoder::set_frame_size, + py::arg("frame_size"), + D(code, dummy_encoder, set_frame_size)) + + + .def("rate", &dummy_encoder::rate, D(code, dummy_encoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/encode_ccsds_27_bb_python.cc b/gr-fec/python/fec/bindings/encode_ccsds_27_bb_python.cc new file mode 100644 index 0000000000..af868c8121 --- /dev/null +++ b/gr-fec/python/fec/bindings/encode_ccsds_27_bb_python.cc @@ -0,0 +1,40 @@ +/* + * 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/fec/encode_ccsds_27_bb.h> +// pydoc.h is automatically generated in the build directory +#include <encode_ccsds_27_bb_pydoc.h> + +void bind_encode_ccsds_27_bb(py::module& m) +{ + + using encode_ccsds_27_bb = ::gr::fec::encode_ccsds_27_bb; + + + py::class_<encode_ccsds_27_bb, + gr::sync_interpolator, + gr::sync_block, + gr::block, + gr::basic_block, + std::shared_ptr<encode_ccsds_27_bb>>( + m, "encode_ccsds_27_bb", D(encode_ccsds_27_bb)) + + .def(py::init(&encode_ccsds_27_bb::make), D(encode_ccsds_27_bb, make)) + + + ; +} diff --git a/gr-fec/python/fec/bindings/encoder_python.cc b/gr-fec/python/fec/bindings/encoder_python.cc new file mode 100644 index 0000000000..ac22478347 --- /dev/null +++ b/gr-fec/python/fec/bindings/encoder_python.cc @@ -0,0 +1,66 @@ +/* + * 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/fec/encoder.h> +// pydoc.h is automatically generated in the build directory +#include <encoder_pydoc.h> + +void bind_encoder(py::module& m) +{ + + using encoder = ::gr::fec::encoder; + + + py::class_<encoder, gr::block, gr::basic_block, std::shared_ptr<encoder>>( + m, "encoder", D(encoder)) + + .def(py::init(&encoder::make), + py::arg("my_encoder"), + py::arg("input_item_size"), + py::arg("output_item_size"), + D(encoder, make)) + + + .def("general_work", + &encoder::general_work, + py::arg("noutput_items"), + py::arg("ninput_items"), + py::arg("input_items"), + py::arg("output_items"), + D(encoder, general_work)) + + + .def("fixed_rate_ninput_to_noutput", + &encoder::fixed_rate_ninput_to_noutput, + py::arg("ninput"), + D(encoder, fixed_rate_ninput_to_noutput)) + + + .def("fixed_rate_noutput_to_ninput", + &encoder::fixed_rate_noutput_to_ninput, + py::arg("noutput"), + D(encoder, fixed_rate_noutput_to_ninput)) + + + .def("forecast", + &encoder::forecast, + py::arg("noutput_items"), + py::arg("ninput_items_required"), + D(encoder, forecast)) + + ; +} diff --git a/gr-fec/python/fec/bindings/fec_mtrx_python.cc b/gr-fec/python/fec/bindings/fec_mtrx_python.cc new file mode 100644 index 0000000000..dc3b7aa2a1 --- /dev/null +++ b/gr-fec/python/fec/bindings/fec_mtrx_python.cc @@ -0,0 +1,116 @@ +/* + * 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/fec/fec_mtrx.h> +// pydoc.h is automatically generated in the build directory +#include <fec_mtrx_pydoc.h> + +void bind_fec_mtrx(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using block_data = ::gr::fec::code::block_data; + using matrix = ::gr::fec::code::matrix; + using fec_mtrx = ::gr::fec::code::fec_mtrx; + + + py::class_<block_data, std::shared_ptr<block_data>>( + m_code, "block_data", D(code, block_data)) + + + ; + + py::class_<matrix, std::shared_ptr<matrix>>(m_code, "matrix", D(code, matrix)) + + + ; + + + py::class_<fec_mtrx, std::shared_ptr<fec_mtrx>>(m_code, "fec_mtrx", D(code, fec_mtrx)) + + // .def(py::init<gr::fec::code::fec_mtrx const&>(), + // py::arg("arg0"), + // D(code, fec_mtrx, fec_mtrx)) + + + .def("encode", + &fec_mtrx::encode, + py::arg("outbuffer"), + py::arg("inbuffer"), + D(code, fec_mtrx, encode)) + + + .def("decode", + &fec_mtrx::decode, + py::arg("outbuffer"), + py::arg("inbuffer"), + py::arg("frame_size"), + py::arg("max_iterations"), + D(code, fec_mtrx, decode)) + + + .def("n", &fec_mtrx::n, D(code, fec_mtrx, n)) + + + .def("k", &fec_mtrx::k, D(code, fec_mtrx, k)) + + ; + + + m_code.def( + "matrix_free", &::gr::fec::code::matrix_free, py::arg("x"), D(code, matrix_free)); + + + m_code.def("read_matrix_from_file", + &::gr::fec::code::read_matrix_from_file, + py::arg("filename"), + D(code, read_matrix_from_file)); + + + m_code.def("write_matrix_to_file", + &::gr::fec::code::write_matrix_to_file, + py::arg("filename"), + py::arg("M"), + D(code, write_matrix_to_file)); + + + m_code.def("generate_G_transpose", + &::gr::fec::code::generate_G_transpose, + py::arg("H_obj"), + D(code, generate_G_transpose)); + + + m_code.def("generate_G", + &::gr::fec::code::generate_G, + py::arg("H_obj"), + D(code, generate_G)); + + + m_code.def("generate_H", + &::gr::fec::code::generate_H, + py::arg("G_obj"), + D(code, generate_H)); + + + m_code.def("print_matrix", + &::gr::fec::code::print_matrix, + py::arg("M"), + py::arg("numpy") = false, + D(code, print_matrix)); +} diff --git a/gr-fec/python/fec/bindings/generic_decoder_python.cc b/gr-fec/python/fec/bindings/generic_decoder_python.cc new file mode 100644 index 0000000000..298631cad4 --- /dev/null +++ b/gr-fec/python/fec/bindings/generic_decoder_python.cc @@ -0,0 +1,146 @@ +/* + * 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/fec/generic_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <generic_decoder_pydoc.h> + +void bind_generic_decoder(py::module& m) +{ + + using generic_decoder = ::gr::fec::generic_decoder; + + + py::class_<generic_decoder, std::shared_ptr<generic_decoder>>( + m, "generic_decoder", D(generic_decoder)) + + // .def(py::init<>(),D(generic_decoder,generic_decoder,0)) + // .def(py::init<std::string>(), py::arg("name"), + // D(generic_decoder,generic_decoder,1) + // ) + // .def(py::init<gr::fec::generic_decoder const &>(), py::arg("arg0"), + // D(generic_decoder,generic_decoder,2) + // ) + + + .def("generic_work", + &generic_decoder::generic_work, + py::arg("inbuffer"), + py::arg("outbuffer"), + D(generic_decoder, generic_work)) + + + .def("unique_id", &generic_decoder::unique_id, D(generic_decoder, unique_id)) + + + .def("alias", &generic_decoder::alias, D(generic_decoder, alias)) + + + .def("rate", &generic_decoder::rate, D(generic_decoder, rate)) + + + .def("get_input_size", + &generic_decoder::get_input_size, + D(generic_decoder, get_input_size)) + + + .def("get_output_size", + &generic_decoder::get_output_size, + D(generic_decoder, get_output_size)) + + + .def( + "get_history", &generic_decoder::get_history, D(generic_decoder, get_history)) + + + .def("get_shift", &generic_decoder::get_shift, D(generic_decoder, get_shift)) + + + .def("get_input_item_size", + &generic_decoder::get_input_item_size, + D(generic_decoder, get_input_item_size)) + + + .def("get_output_item_size", + &generic_decoder::get_output_item_size, + D(generic_decoder, get_output_item_size)) + + + .def("get_input_conversion", + &generic_decoder::get_input_conversion, + D(generic_decoder, get_input_conversion)) + + + .def("get_output_conversion", + &generic_decoder::get_output_conversion, + D(generic_decoder, get_output_conversion)) + + + .def("set_frame_size", + &generic_decoder::set_frame_size, + py::arg("frame_size"), + D(generic_decoder, set_frame_size)) + + + .def("get_iterations", + &generic_decoder::get_iterations, + D(generic_decoder, get_iterations)) + + ; + + + m.def("get_decoder_output_size", + &::gr::fec::get_decoder_output_size, + py::arg("my_decoder"), + D(get_decoder_output_size)); + + + m.def("get_decoder_input_size", + &::gr::fec::get_decoder_input_size, + py::arg("my_decoder"), + D(get_decoder_input_size)); + + + m.def("get_shift", &::gr::fec::get_shift, py::arg("my_decoder"), D(get_shift)); + + + m.def("get_history", &::gr::fec::get_history, py::arg("my_decoder"), D(get_history)); + + + m.def("get_decoder_input_item_size", + &::gr::fec::get_decoder_input_item_size, + py::arg("my_decoder"), + D(get_decoder_input_item_size)); + + + m.def("get_decoder_output_item_size", + &::gr::fec::get_decoder_output_item_size, + py::arg("my_decoder"), + D(get_decoder_output_item_size)); + + + m.def("get_decoder_input_conversion", + &::gr::fec::get_decoder_input_conversion, + py::arg("my_decoder"), + D(get_decoder_input_conversion)); + + + m.def("get_decoder_output_conversion", + &::gr::fec::get_decoder_output_conversion, + py::arg("my_decoder"), + D(get_decoder_output_conversion)); +} diff --git a/gr-fec/python/fec/bindings/generic_encoder_python.cc b/gr-fec/python/fec/bindings/generic_encoder_python.cc new file mode 100644 index 0000000000..2376e57925 --- /dev/null +++ b/gr-fec/python/fec/bindings/generic_encoder_python.cc @@ -0,0 +1,106 @@ +/* + * 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/fec/generic_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <generic_encoder_pydoc.h> + +void bind_generic_encoder(py::module& m) +{ + + using generic_encoder = ::gr::fec::generic_encoder; + + + py::class_<generic_encoder, std::shared_ptr<generic_encoder>>( + m, "generic_encoder", D(generic_encoder)) + + // .def(py::init<>(),D(generic_encoder,generic_encoder,0)) + // .def(py::init<std::string>(), py::arg("name"), + // D(generic_encoder,generic_encoder,1) + // ) + // .def(py::init<gr::fec::generic_encoder const &>(), py::arg("arg0"), + // D(generic_encoder,generic_encoder,2) + // ) + + + .def("generic_work", + &generic_encoder::generic_work, + py::arg("in_buffer"), + py::arg("out_buffer"), + D(generic_encoder, generic_work)) + + + .def("unique_id", &generic_encoder::unique_id, D(generic_encoder, unique_id)) + + + .def("alias", &generic_encoder::alias, D(generic_encoder, alias)) + + + .def("rate", &generic_encoder::rate, D(generic_encoder, rate)) + + + .def("get_input_size", + &generic_encoder::get_input_size, + D(generic_encoder, get_input_size)) + + + .def("get_output_size", + &generic_encoder::get_output_size, + D(generic_encoder, get_output_size)) + + + .def("get_input_conversion", + &generic_encoder::get_input_conversion, + D(generic_encoder, get_input_conversion)) + + + .def("get_output_conversion", + &generic_encoder::get_output_conversion, + D(generic_encoder, get_output_conversion)) + + + .def("set_frame_size", + &generic_encoder::set_frame_size, + py::arg("frame_size"), + D(generic_encoder, set_frame_size)) + + ; + + + m.def("get_encoder_output_size", + &::gr::fec::get_encoder_output_size, + py::arg("my_encoder"), + D(get_encoder_output_size)); + + + m.def("get_encoder_input_size", + &::gr::fec::get_encoder_input_size, + py::arg("my_encoder"), + D(get_encoder_input_size)); + + + m.def("get_encoder_input_conversion", + &::gr::fec::get_encoder_input_conversion, + py::arg("my_encoder"), + D(get_encoder_input_conversion)); + + + m.def("get_encoder_output_conversion", + &::gr::fec::get_encoder_output_conversion, + py::arg("my_encoder"), + D(get_encoder_output_conversion)); +} diff --git a/gr-fec/python/fec/bindings/ldpc_G_matrix_python.cc b/gr-fec/python/fec/bindings/ldpc_G_matrix_python.cc new file mode 100644 index 0000000000..e478b59d8b --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_G_matrix_python.cc @@ -0,0 +1,60 @@ +/* + * 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/fec/ldpc_G_matrix.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_G_matrix_pydoc.h> + +void bind_ldpc_G_matrix(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using ldpc_G_matrix = ::gr::fec::code::ldpc_G_matrix; + + + py::class_<ldpc_G_matrix, gr::fec::code::fec_mtrx, std::shared_ptr<ldpc_G_matrix>>( + m_code, "ldpc_G_matrix", D(code, ldpc_G_matrix)) + + .def(py::init(&ldpc_G_matrix::make), + py::arg("filename"), + D(code, ldpc_G_matrix, make)) + + + .def("encode", + &ldpc_G_matrix::encode, + py::arg("outbuffer"), + py::arg("inbuffer"), + D(code, ldpc_G_matrix, encode)) + + + .def("decode", + &ldpc_G_matrix::decode, + py::arg("outbuffer"), + py::arg("inbuffer"), + py::arg("frame_size"), + py::arg("max_iterations"), + D(code, ldpc_G_matrix, decode)) + + + .def("get_base_sptr", + &ldpc_G_matrix::get_base_sptr, + D(code, ldpc_G_matrix, get_base_sptr)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ldpc_H_matrix_python.cc b/gr-fec/python/fec/bindings/ldpc_H_matrix_python.cc new file mode 100644 index 0000000000..9f5c6250ff --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_H_matrix_python.cc @@ -0,0 +1,67 @@ +/* + * 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/fec/ldpc_H_matrix.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_H_matrix_pydoc.h> + +void bind_ldpc_H_matrix(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using ldpc_H_matrix = ::gr::fec::code::ldpc_H_matrix; + + + py::class_<ldpc_H_matrix, gr::fec::code::fec_mtrx, std::shared_ptr<ldpc_H_matrix>>( + m_code, "ldpc_H_matrix", D(code, ldpc_H_matrix)) + + .def(py::init(&ldpc_H_matrix::make), + py::arg("filename"), + py::arg("gap"), + D(code, ldpc_H_matrix, make)) + + + .def("encode", + &ldpc_H_matrix::encode, + py::arg("outbuffer"), + py::arg("inbuffer"), + D(code, ldpc_H_matrix, encode)) + + + .def("decode", + &ldpc_H_matrix::decode, + py::arg("outbuffer"), + py::arg("inbuffer"), + py::arg("frame_size"), + py::arg("max_iterations"), + D(code, ldpc_H_matrix, decode)) + + + .def("n", &ldpc_H_matrix::n, D(code, ldpc_H_matrix, n)) + + + .def("k", &ldpc_H_matrix::k, D(code, ldpc_H_matrix, k)) + + + .def("get_base_sptr", + &ldpc_H_matrix::get_base_sptr, + D(code, ldpc_H_matrix, get_base_sptr)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ldpc_bit_flip_decoder_python.cc b/gr-fec/python/fec/bindings/ldpc_bit_flip_decoder_python.cc new file mode 100644 index 0000000000..c3fe985856 --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_bit_flip_decoder_python.cc @@ -0,0 +1,52 @@ +/* + * 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/fec/ldpc_bit_flip_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_bit_flip_decoder_pydoc.h> + +void bind_ldpc_bit_flip_decoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using ldpc_bit_flip_decoder = ::gr::fec::code::ldpc_bit_flip_decoder; + + + py::class_<ldpc_bit_flip_decoder, + gr::fec::generic_decoder, + std::shared_ptr<ldpc_bit_flip_decoder>>( + m_code, "ldpc_bit_flip_decoder", D(code, ldpc_bit_flip_decoder)) + + .def_static("make", + &ldpc_bit_flip_decoder::make, + py::arg("mtrx_obj"), + py::arg("max_iter") = 100, + D(code, ldpc_bit_flip_decoder, make)) + + + .def("set_frame_size", + &ldpc_bit_flip_decoder::set_frame_size, + py::arg("frame_size"), + D(code, ldpc_bit_flip_decoder, set_frame_size)) + + + .def("rate", &ldpc_bit_flip_decoder::rate, D(code, ldpc_bit_flip_decoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ldpc_decoder_python.cc b/gr-fec/python/fec/bindings/ldpc_decoder_python.cc new file mode 100644 index 0000000000..5fe7099a66 --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_decoder_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/fec/ldpc_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_decoder_pydoc.h> + +void bind_ldpc_decoder(py::module& m) +{ + + using ldpc_decoder = ::gr::fec::ldpc_decoder; + + + py::class_<ldpc_decoder, gr::fec::generic_decoder, std::shared_ptr<ldpc_decoder>>( + m, "ldpc_decoder", D(ldpc_decoder)) + + .def_static("make", + &ldpc_decoder::make, + py::arg("alist_file"), + py::arg("sigma") = 0.5, + py::arg("max_iterations") = 50, + D(ldpc_decoder, make)) + + + .def("rate", &ldpc_decoder::rate, D(ldpc_decoder, rate)) + + + .def("set_frame_size", + &ldpc_decoder::set_frame_size, + py::arg("frame_size"), + D(ldpc_decoder, set_frame_size)) + + + .def("get_output_size", + &ldpc_decoder::get_output_size, + D(ldpc_decoder, get_output_size)) + + + .def("get_input_size", + &ldpc_decoder::get_input_size, + D(ldpc_decoder, get_input_size)) + + + .def("get_input_item_size", + &ldpc_decoder::get_input_item_size, + D(ldpc_decoder, get_input_item_size)) + + + .def("get_output_item_size", + &ldpc_decoder::get_output_item_size, + D(ldpc_decoder, get_output_item_size)) + + + .def("get_iterations", + &ldpc_decoder::get_iterations, + D(ldpc_decoder, get_iterations)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ldpc_encoder_python.cc b/gr-fec/python/fec/bindings/ldpc_encoder_python.cc new file mode 100644 index 0000000000..24368757aa --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_encoder_python.cc @@ -0,0 +1,54 @@ +/* + * 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/fec/ldpc_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_encoder_pydoc.h> + +void bind_ldpc_encoder(py::module& m) +{ + + using ldpc_encoder = ::gr::fec::ldpc_encoder; + + + py::class_<ldpc_encoder, gr::fec::generic_encoder, std::shared_ptr<ldpc_encoder>>( + m, "ldpc_encoder", D(ldpc_encoder)) + + .def_static( + "make", &ldpc_encoder::make, py::arg("alist_file"), D(ldpc_encoder, make)) + + + .def("rate", &ldpc_encoder::rate, D(ldpc_encoder, rate)) + + + .def("set_frame_size", + &ldpc_encoder::set_frame_size, + py::arg("frame_size"), + D(ldpc_encoder, set_frame_size)) + + + .def("get_output_size", + &ldpc_encoder::get_output_size, + D(ldpc_encoder, get_output_size)) + + + .def("get_input_size", + &ldpc_encoder::get_input_size, + D(ldpc_encoder, get_input_size)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ldpc_gen_mtrx_encoder_python.cc b/gr-fec/python/fec/bindings/ldpc_gen_mtrx_encoder_python.cc new file mode 100644 index 0000000000..d8d4a97a06 --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_gen_mtrx_encoder_python.cc @@ -0,0 +1,51 @@ +/* + * 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/fec/ldpc_gen_mtrx_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_gen_mtrx_encoder_pydoc.h> + +void bind_ldpc_gen_mtrx_encoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using ldpc_gen_mtrx_encoder = ::gr::fec::code::ldpc_gen_mtrx_encoder; + + + py::class_<ldpc_gen_mtrx_encoder, + gr::fec::generic_encoder, + std::shared_ptr<ldpc_gen_mtrx_encoder>>( + m_code, "ldpc_gen_mtrx_encoder", D(code, ldpc_gen_mtrx_encoder)) + + .def_static("make", + &ldpc_gen_mtrx_encoder::make, + py::arg("G_obj"), + D(code, ldpc_gen_mtrx_encoder, make)) + + + .def("set_frame_size", + &ldpc_gen_mtrx_encoder::set_frame_size, + py::arg("frame_size"), + D(code, ldpc_gen_mtrx_encoder, set_frame_size)) + + + .def("rate", &ldpc_gen_mtrx_encoder::rate, D(code, ldpc_gen_mtrx_encoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/ldpc_par_mtrx_encoder_python.cc b/gr-fec/python/fec/bindings/ldpc_par_mtrx_encoder_python.cc new file mode 100644 index 0000000000..88e9b63090 --- /dev/null +++ b/gr-fec/python/fec/bindings/ldpc_par_mtrx_encoder_python.cc @@ -0,0 +1,68 @@ +/* + * 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/fec/ldpc_par_mtrx_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <ldpc_par_mtrx_encoder_pydoc.h> + +void bind_ldpc_par_mtrx_encoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using ldpc_par_mtrx_encoder = ::gr::fec::code::ldpc_par_mtrx_encoder; + + + py::class_<ldpc_par_mtrx_encoder, + gr::fec::generic_encoder, + std::shared_ptr<ldpc_par_mtrx_encoder>>( + m_code, "ldpc_par_mtrx_encoder", D(code, ldpc_par_mtrx_encoder)) + + .def_static("make", + &ldpc_par_mtrx_encoder::make, + py::arg("alist_file"), + py::arg("gap") = 0, + D(code, ldpc_par_mtrx_encoder, make)) + + + .def_static("make_H", + &ldpc_par_mtrx_encoder::make_H, + py::arg("H_obj"), + D(code, ldpc_par_mtrx_encoder, make_H)) + + + .def("rate", &ldpc_par_mtrx_encoder::rate, D(code, ldpc_par_mtrx_encoder, rate)) + + + .def("set_frame_size", + &ldpc_par_mtrx_encoder::set_frame_size, + py::arg("frame_size"), + D(code, ldpc_par_mtrx_encoder, set_frame_size)) + + + .def("get_output_size", + &ldpc_par_mtrx_encoder::get_output_size, + D(code, ldpc_par_mtrx_encoder, get_output_size)) + + + .def("get_input_size", + &ldpc_par_mtrx_encoder::get_input_size, + D(code, ldpc_par_mtrx_encoder, get_input_size)) + + ; +} diff --git a/gr-fec/python/fec/bindings/polar_common_python.cc b/gr-fec/python/fec/bindings/polar_common_python.cc new file mode 100644 index 0000000000..4d80646a86 --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_common_python.cc @@ -0,0 +1,48 @@ +/* + * 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/fec/polar_common.h> +// pydoc.h is automatically generated in the build directory +#include <polar_common_pydoc.h> + +void bind_polar_common(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_common = ::gr::fec::code::polar_common; + + + py::class_<polar_common, std::shared_ptr<polar_common>>( + m_code, "polar_common", D(code, polar_common)) + + .def(py::init<int, + int, + std::vector<int, std::allocator<int>>, + std::vector<uint8_t, std::allocator<uint8_t>>>(), + py::arg("block_size"), + py::arg("num_info_bits"), + py::arg("frozen_bit_positions"), + py::arg("frozen_bit_values"), + D(code, polar_common, polar_common, 0)) + .def(py::init<gr::fec::code::polar_common const&>(), + py::arg("arg0"), + D(code, polar_common, polar_common, 1)) + + ; +} diff --git a/gr-fec/python/fec/bindings/polar_decoder_common_python.cc b/gr-fec/python/fec/bindings/polar_decoder_common_python.cc new file mode 100644 index 0000000000..683230ac7f --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_decoder_common_python.cc @@ -0,0 +1,67 @@ +/* + * 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/fec/polar_decoder_common.h> +// pydoc.h is automatically generated in the build directory +#include <polar_decoder_common_pydoc.h> + +void bind_polar_decoder_common(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_decoder_common = ::gr::fec::code::polar_decoder_common; + + + py::class_<polar_decoder_common, + gr::fec::generic_decoder, + std::shared_ptr<polar_decoder_common>>( + m_code, "polar_decoder_common", D(code, polar_decoder_common)) + + // .def(py::init<int,int,std::vector<int, std::allocator<int> >,std::vector<char, + // std::allocator<char> >>(), py::arg("block_size"), + // py::arg("num_info_bits"), + // py::arg("frozen_bit_positions"), + // py::arg("frozen_bit_values"), + // D(code,polar_decoder_common,polar_decoder_common,0) + // ) + // .def(py::init<gr::fec::code::polar_decoder_common const &>(), py::arg("arg0"), + // D(code,polar_decoder_common,polar_decoder_common,1) + // ) + + + .def("rate", &polar_decoder_common::rate, D(code, polar_decoder_common, rate)) + + + .def("get_input_size", + &polar_decoder_common::get_input_size, + D(code, polar_decoder_common, get_input_size)) + + + .def("get_output_size", + &polar_decoder_common::get_output_size, + D(code, polar_decoder_common, get_output_size)) + + + .def("set_frame_size", + &polar_decoder_common::set_frame_size, + py::arg("frame_size"), + D(code, polar_decoder_common, set_frame_size)) + + ; +} diff --git a/gr-fec/python/fec/bindings/polar_decoder_sc_list_python.cc b/gr-fec/python/fec/bindings/polar_decoder_sc_list_python.cc new file mode 100644 index 0000000000..f81d6cee8b --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_decoder_sc_list_python.cc @@ -0,0 +1,59 @@ +/* + * 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/fec/polar_decoder_sc_list.h> +// pydoc.h is automatically generated in the build directory +#include <polar_decoder_sc_list_pydoc.h> + +void bind_polar_decoder_sc_list(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_decoder_sc_list = ::gr::fec::code::polar_decoder_sc_list; + + + py::class_<polar_decoder_sc_list, + gr::fec::code::polar_decoder_common, + std::shared_ptr<polar_decoder_sc_list>>( + m_code, "polar_decoder_sc_list", D(code, polar_decoder_sc_list)) + + .def_static("make", + &polar_decoder_sc_list::make, + py::arg("max_list_size"), + py::arg("block_size"), + py::arg("num_info_bits"), + py::arg("frozen_bit_positions"), + py::arg("frozen_bit_values"), + D(code, polar_decoder_sc_list, make)) + + + .def("generic_work", + &polar_decoder_sc_list::generic_work, + py::arg("in_buffer"), + py::arg("out_buffer"), + D(code, polar_decoder_sc_list, generic_work)) + + ; + + + py::module m_code_polar = m_code.def_submodule("polar"); + + + py::module m_polar = m.def_submodule("polar"); +} diff --git a/gr-fec/python/fec/bindings/polar_decoder_sc_python.cc b/gr-fec/python/fec/bindings/polar_decoder_sc_python.cc new file mode 100644 index 0000000000..bb9af86afa --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_decoder_sc_python.cc @@ -0,0 +1,52 @@ +/* + * 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/fec/polar_decoder_sc.h> +// pydoc.h is automatically generated in the build directory +#include <polar_decoder_sc_pydoc.h> + +void bind_polar_decoder_sc(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_decoder_sc = ::gr::fec::code::polar_decoder_sc; + + + py::class_<polar_decoder_sc, + gr::fec::code::polar_decoder_common, + std::shared_ptr<polar_decoder_sc>>( + m_code, "polar_decoder_sc", D(code, polar_decoder_sc)) + + .def_static("make", + &polar_decoder_sc::make, + py::arg("block_size"), + py::arg("num_info_bits"), + py::arg("frozen_bit_positions"), + py::arg("frozen_bit_values"), + D(code, polar_decoder_sc, make)) + + + .def("generic_work", + &polar_decoder_sc::generic_work, + py::arg("in_buffer"), + py::arg("out_buffer"), + D(code, polar_decoder_sc, generic_work)) + + ; +} diff --git a/gr-fec/python/fec/bindings/polar_decoder_sc_systematic_python.cc b/gr-fec/python/fec/bindings/polar_decoder_sc_systematic_python.cc new file mode 100644 index 0000000000..08957b28a3 --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_decoder_sc_systematic_python.cc @@ -0,0 +1,51 @@ +/* + * 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/fec/polar_decoder_sc_systematic.h> +// pydoc.h is automatically generated in the build directory +#include <polar_decoder_sc_systematic_pydoc.h> + +void bind_polar_decoder_sc_systematic(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_decoder_sc_systematic = ::gr::fec::code::polar_decoder_sc_systematic; + + + py::class_<polar_decoder_sc_systematic, + gr::fec::code::polar_decoder_common, + std::shared_ptr<polar_decoder_sc_systematic>>( + m_code, "polar_decoder_sc_systematic", D(code, polar_decoder_sc_systematic)) + + .def_static("make", + &polar_decoder_sc_systematic::make, + py::arg("block_size"), + py::arg("num_info_bits"), + py::arg("frozen_bit_positions"), + D(code, polar_decoder_sc_systematic, make)) + + + .def("generic_work", + &polar_decoder_sc_systematic::generic_work, + py::arg("in_buffer"), + py::arg("out_buffer"), + D(code, polar_decoder_sc_systematic, generic_work)) + + ; +} diff --git a/gr-fec/python/fec/bindings/polar_encoder_python.cc b/gr-fec/python/fec/bindings/polar_encoder_python.cc new file mode 100644 index 0000000000..c630ccc325 --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_encoder_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 */ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/fec/polar_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <polar_encoder_pydoc.h> + +void bind_polar_encoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using polar_encoder = ::gr::fec::code::polar_encoder; + + + py::class_<polar_encoder, gr::fec::generic_encoder, std::shared_ptr<polar_encoder>>( + m_code, "polar_encoder", D(code, polar_encoder)) + + .def_static("make", + &polar_encoder::make, + py::arg("block_size"), + py::arg("num_info_bits"), + py::arg("frozen_bit_positions"), + py::arg("frozen_bit_values"), + py::arg("is_packed") = false, + D(code, polar_encoder, make)) + + + .def("generic_work", + &polar_encoder::generic_work, + py::arg("in_buffer"), + py::arg("out_buffer"), + D(code, polar_encoder, generic_work)) + + + .def("rate", &polar_encoder::rate, D(code, polar_encoder, rate)) + + + .def("get_input_size", + &polar_encoder::get_input_size, + D(code, polar_encoder, get_input_size)) + + + .def("get_output_size", + &polar_encoder::get_output_size, + D(code, polar_encoder, get_output_size)) + + + .def("set_frame_size", + &polar_encoder::set_frame_size, + py::arg("frame_size"), + D(code, polar_encoder, set_frame_size)) + + + .def("get_input_conversion", + &polar_encoder::get_input_conversion, + D(code, polar_encoder, get_input_conversion)) + + + .def("get_output_conversion", + &polar_encoder::get_output_conversion, + D(code, polar_encoder, get_output_conversion)) + + ; +} 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..c9ba23237c --- /dev/null +++ b/gr-fec/python/fec/bindings/polar_encoder_systematic_python.cc @@ -0,0 +1,72 @@ +/* + * 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/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)) + + ; +} diff --git a/gr-fec/python/fec/bindings/puncture_bb_python.cc b/gr-fec/python/fec/bindings/puncture_bb_python.cc new file mode 100644 index 0000000000..5e143e0feb --- /dev/null +++ b/gr-fec/python/fec/bindings/puncture_bb_python.cc @@ -0,0 +1,39 @@ +/* + * 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/fec/puncture_bb.h> +// pydoc.h is automatically generated in the build directory +#include <puncture_bb_pydoc.h> + +void bind_puncture_bb(py::module& m) +{ + + using puncture_bb = ::gr::fec::puncture_bb; + + + py::class_<puncture_bb, gr::block, gr::basic_block, std::shared_ptr<puncture_bb>>( + m, "puncture_bb", D(puncture_bb)) + + .def(py::init(&puncture_bb::make), + py::arg("puncsize"), + py::arg("puncpat"), + py::arg("delay") = 0, + D(puncture_bb, make)) + + + ; +} diff --git a/gr-fec/python/fec/bindings/puncture_ff_python.cc b/gr-fec/python/fec/bindings/puncture_ff_python.cc new file mode 100644 index 0000000000..e55eb27549 --- /dev/null +++ b/gr-fec/python/fec/bindings/puncture_ff_python.cc @@ -0,0 +1,39 @@ +/* + * 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/fec/puncture_ff.h> +// pydoc.h is automatically generated in the build directory +#include <puncture_ff_pydoc.h> + +void bind_puncture_ff(py::module& m) +{ + + using puncture_ff = ::gr::fec::puncture_ff; + + + py::class_<puncture_ff, gr::block, gr::basic_block, std::shared_ptr<puncture_ff>>( + m, "puncture_ff", D(puncture_ff)) + + .def(py::init(&puncture_ff::make), + py::arg("puncsize"), + py::arg("puncpat"), + py::arg("delay"), + D(puncture_ff, make)) + + + ; +} diff --git a/gr-fec/python/fec/bindings/python_bindings.cc b/gr-fec/python/fec/bindings/python_bindings.cc new file mode 100644 index 0000000000..808bc32e43 --- /dev/null +++ b/gr-fec/python/fec/bindings/python_bindings.cc @@ -0,0 +1,136 @@ + +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#include <pybind11/pybind11.h> + +#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION +#include <numpy/arrayobject.h> + +namespace py = pybind11; + +// void bind_alist(py::module&); +void bind_async_decoder(py::module&); +void bind_async_encoder(py::module&); +// void bind_awgn_bp(py::module&); +void bind_ber_bf(py::module&); +void bind_cc_common(py::module&); +void bind_cc_decoder(py::module&); +void bind_cc_encoder(py::module&); +void bind_ccsds_encoder(py::module&); +void bind_cldpc(py::module&); +void bind_conv_bit_corr_bb(py::module&); +void bind_decode_ccsds_27_fb(py::module&); +void bind_decoder(py::module&); +void bind_depuncture_bb(py::module&); +void bind_dummy_decoder(py::module&); +void bind_dummy_encoder(py::module&); +void bind_encode_ccsds_27_bb(py::module&); +void bind_encoder(py::module&); +void bind_fec_mtrx(py::module&); +void bind_generic_decoder(py::module&); +void bind_generic_encoder(py::module&); +void bind_gf2mat(py::module&); +void bind_gf2vec(py::module&); +void bind_ldpc_G_matrix(py::module&); +void bind_ldpc_H_matrix(py::module&); +void bind_ldpc_bit_flip_decoder(py::module&); +void bind_ldpc_decoder(py::module&); +void bind_ldpc_encoder(py::module&); +void bind_ldpc_gen_mtrx_encoder(py::module&); +void bind_ldpc_par_mtrx_encoder(py::module&); +void bind_maxstar(py::module&); +void bind_polar_common(py::module&); +void bind_polar_decoder_common(py::module&); +void bind_polar_decoder_sc(py::module&); +void bind_polar_decoder_sc_list(py::module&); +void bind_polar_decoder_sc_systematic(py::module&); +void bind_polar_encoder(py::module&); +void bind_polar_encoder_systematic(py::module&); +void bind_puncture_bb(py::module&); +void bind_puncture_ff(py::module&); +void bind_repetition_decoder(py::module&); +void bind_repetition_encoder(py::module&); +void bind_rs(py::module&); +void bind_tagged_decoder(py::module&); +void bind_tagged_encoder(py::module&); +// void bind_tpc_common(py::module&); +void bind_tpc_decoder(py::module&); +void bind_tpc_encoder(py::module&); +// void bind_viterbi(py::module&); + +// We need this hack because import_array() returns NULL +// for newer Python versions. +// This function is also necessary because it ensures access to the C API +// and removes a warning. +void* init_numpy() +{ + import_array(); + return NULL; +} + +PYBIND11_MODULE(fec_python, m) +{ + // Initialize the numpy C API + // (otherwise we will see segmentation faults) + init_numpy(); + + // Allow access to base block methods + py::module::import("gnuradio.gr"); + + bind_generic_decoder(m); + bind_generic_encoder(m); + // bind_alist(m); + bind_async_decoder(m); + bind_async_encoder(m); + // bind_awgn_bp(m); + bind_ber_bf(m); + bind_cc_common(m); + bind_cc_decoder(m); + bind_cc_encoder(m); + bind_decoder(m); + bind_encoder(m); + bind_ccsds_encoder(m); + // bind_cldpc(m); + bind_conv_bit_corr_bb(m); + bind_decode_ccsds_27_fb(m); + bind_depuncture_bb(m); + bind_dummy_decoder(m); + bind_dummy_encoder(m); + bind_encode_ccsds_27_bb(m); + bind_fec_mtrx(m); + // bind_gf2mat(m); + // bind_gf2vec(m); + bind_ldpc_G_matrix(m); + bind_ldpc_H_matrix(m); + bind_ldpc_bit_flip_decoder(m); + bind_ldpc_decoder(m); + bind_ldpc_encoder(m); + bind_ldpc_gen_mtrx_encoder(m); + bind_ldpc_par_mtrx_encoder(m); + // bind_maxstar(m); + bind_polar_common(m); + bind_polar_decoder_common(m); + bind_polar_decoder_sc(m); + bind_polar_decoder_sc_list(m); + bind_polar_decoder_sc_systematic(m); + bind_polar_encoder(m); + bind_polar_encoder_systematic(m); + bind_puncture_bb(m); + bind_puncture_ff(m); + bind_repetition_decoder(m); + bind_repetition_encoder(m); + // bind_rs(m); + bind_tagged_decoder(m); + bind_tagged_encoder(m); + // bind_tpc_common(m); + bind_tpc_decoder(m); + bind_tpc_encoder(m); + // bind_viterbi(m); +} diff --git a/gr-fec/python/fec/bindings/repetition_decoder_python.cc b/gr-fec/python/fec/bindings/repetition_decoder_python.cc new file mode 100644 index 0000000000..65bf20361f --- /dev/null +++ b/gr-fec/python/fec/bindings/repetition_decoder_python.cc @@ -0,0 +1,53 @@ +/* + * 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/fec/repetition_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <repetition_decoder_pydoc.h> + +void bind_repetition_decoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using repetition_decoder = ::gr::fec::code::repetition_decoder; + + + py::class_<repetition_decoder, + gr::fec::generic_decoder, + std::shared_ptr<repetition_decoder>>( + m_code, "repetition_decoder", D(code, repetition_decoder)) + + .def_static("make", + &repetition_decoder::make, + py::arg("frame_size"), + py::arg("rep"), + py::arg("ap_prob") = 0.5, + D(code, repetition_decoder, make)) + + + .def("set_frame_size", + &repetition_decoder::set_frame_size, + py::arg("frame_size"), + D(code, repetition_decoder, set_frame_size)) + + + .def("rate", &repetition_decoder::rate, D(code, repetition_decoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/repetition_encoder_python.cc b/gr-fec/python/fec/bindings/repetition_encoder_python.cc new file mode 100644 index 0000000000..6892a02f16 --- /dev/null +++ b/gr-fec/python/fec/bindings/repetition_encoder_python.cc @@ -0,0 +1,52 @@ +/* + * 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/fec/repetition_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <repetition_encoder_pydoc.h> + +void bind_repetition_encoder(py::module& m) +{ + + + py::module m_code = m.def_submodule("code"); + + using repetition_encoder = ::gr::fec::code::repetition_encoder; + + + py::class_<repetition_encoder, + gr::fec::generic_encoder, + std::shared_ptr<repetition_encoder>>( + m_code, "repetition_encoder", D(code, repetition_encoder)) + + .def_static("make", + &repetition_encoder::make, + py::arg("frame_size"), + py::arg("rep"), + D(code, repetition_encoder, make)) + + + .def("set_frame_size", + &repetition_encoder::set_frame_size, + py::arg("frame_size"), + D(code, repetition_encoder, set_frame_size)) + + + .def("rate", &repetition_encoder::rate, D(code, repetition_encoder, rate)) + + ; +} diff --git a/gr-fec/python/fec/bindings/tagged_decoder_python.cc b/gr-fec/python/fec/bindings/tagged_decoder_python.cc new file mode 100644 index 0000000000..5e79653938 --- /dev/null +++ b/gr-fec/python/fec/bindings/tagged_decoder_python.cc @@ -0,0 +1,58 @@ +/* + * 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/fec/tagged_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <tagged_decoder_pydoc.h> + +void bind_tagged_decoder(py::module& m) +{ + + using tagged_decoder = ::gr::fec::tagged_decoder; + + + py::class_<tagged_decoder, + gr::tagged_stream_block, + gr::block, + gr::basic_block, + std::shared_ptr<tagged_decoder>>(m, "tagged_decoder", D(tagged_decoder)) + + .def(py::init(&tagged_decoder::make), + py::arg("my_decoder"), + py::arg("input_item_size"), + py::arg("output_item_size"), + py::arg("lengthtagname") = "packet_len", + py::arg("mtu") = 1500, + D(tagged_decoder, make)) + + + .def("work", + &tagged_decoder::work, + py::arg("noutput_items"), + py::arg("ninput_items"), + py::arg("input_items"), + py::arg("output_items"), + D(tagged_decoder, work)) + + + .def("calculate_output_stream_length", + &tagged_decoder::calculate_output_stream_length, + py::arg("ninput_items"), + D(tagged_decoder, calculate_output_stream_length)) + + ; +} diff --git a/gr-fec/python/fec/bindings/tagged_encoder_python.cc b/gr-fec/python/fec/bindings/tagged_encoder_python.cc new file mode 100644 index 0000000000..1478e825d4 --- /dev/null +++ b/gr-fec/python/fec/bindings/tagged_encoder_python.cc @@ -0,0 +1,58 @@ +/* + * 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/fec/tagged_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <tagged_encoder_pydoc.h> + +void bind_tagged_encoder(py::module& m) +{ + + using tagged_encoder = ::gr::fec::tagged_encoder; + + + py::class_<tagged_encoder, + gr::tagged_stream_block, + gr::block, + gr::basic_block, + std::shared_ptr<tagged_encoder>>(m, "tagged_encoder", D(tagged_encoder)) + + .def(py::init(&tagged_encoder::make), + py::arg("my_encoder"), + py::arg("input_item_size"), + py::arg("output_item_size"), + py::arg("lengthtagname") = "packet_len", + py::arg("mtu") = 1500, + D(tagged_encoder, make)) + + + .def("work", + &tagged_encoder::work, + py::arg("noutput_items"), + py::arg("ninput_items"), + py::arg("input_items"), + py::arg("output_items"), + D(tagged_encoder, work)) + + + .def("calculate_output_stream_length", + &tagged_encoder::calculate_output_stream_length, + py::arg("ninput_items"), + D(tagged_encoder, calculate_output_stream_length)) + + ; +} diff --git a/gr-fec/python/fec/bindings/tpc_common_python.cc b/gr-fec/python/fec/bindings/tpc_common_python.cc new file mode 100644 index 0000000000..112c5803b5 --- /dev/null +++ b/gr-fec/python/fec/bindings/tpc_common_python.cc @@ -0,0 +1,77 @@ +/* + * 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/fec/tpc_common.h> +// pydoc.h is automatically generated in the build directory +#include <tpc_common_pydoc.h> + +void bind_tpc_common(py::module& m) +{ + + using tpc_common = ::gr::fec::tpc_common; + + + py::class_<tpc_common, std::shared_ptr<tpc_common>>(m, "tpc_common", D(tpc_common)) + + .def_static("parity_counter", + &tpc_common::parity_counter, + py::arg("symbol"), + py::arg("length"), + D(tpc_common, parity_counter)) + + + .def_static("rsc_enc_bit", + &tpc_common::rsc_enc_bit, + py::arg("input"), + py::arg("state_in"), + py::arg("g"), + py::arg("KK"), + py::arg("nn"), + py::arg("output"), + py::arg("nextStates"), + D(tpc_common, rsc_enc_bit)) + + + .def_static("precomputeStateTransitionMatrix_RSCPoly", + &tpc_common::precomputeStateTransitionMatrix_RSCPoly, + py::arg("numStates"), + py::arg("g"), + py::arg("KK"), + py::arg("nn"), + py::arg("output"), + py::arg("nextStates"), + D(tpc_common, precomputeStateTransitionMatrix_RSCPoly)) + + + .def_static("rsc_tail", + &tpc_common::rsc_tail, + py::arg("tail_p"), + py::arg("g"), + py::arg("max_states"), + py::arg("mm"), + D(tpc_common, rsc_tail)) + + + .def_static("itob", + &tpc_common::itob, + py::arg("binVec"), + py::arg("symbol"), + py::arg("length"), + D(tpc_common, itob)) + + ; +} diff --git a/gr-fec/python/fec/bindings/tpc_decoder_python.cc b/gr-fec/python/fec/bindings/tpc_decoder_python.cc new file mode 100644 index 0000000000..27a4266c72 --- /dev/null +++ b/gr-fec/python/fec/bindings/tpc_decoder_python.cc @@ -0,0 +1,53 @@ +/* + * 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/fec/tpc_decoder.h> +// pydoc.h is automatically generated in the build directory +#include <tpc_decoder_pydoc.h> + +void bind_tpc_decoder(py::module& m) +{ + + using tpc_decoder = ::gr::fec::tpc_decoder; + + + py::class_<tpc_decoder, gr::fec::generic_decoder, std::shared_ptr<tpc_decoder>>( + m, "tpc_decoder", D(tpc_decoder)) + + .def_static("make", + &tpc_decoder::make, + py::arg("row_poly"), + py::arg("col_poly"), + py::arg("krow"), + py::arg("kcol"), + py::arg("bval"), + py::arg("qval"), + py::arg("max_iter"), + py::arg("decoder_type"), + D(tpc_decoder, make)) + + + .def("rate", &tpc_decoder::rate, D(tpc_decoder, rate)) + + + .def("set_frame_size", + &tpc_decoder::set_frame_size, + py::arg("frame_size"), + D(tpc_decoder, set_frame_size)) + + ; +} diff --git a/gr-fec/python/fec/bindings/tpc_encoder_python.cc b/gr-fec/python/fec/bindings/tpc_encoder_python.cc new file mode 100644 index 0000000000..61b4d893ee --- /dev/null +++ b/gr-fec/python/fec/bindings/tpc_encoder_python.cc @@ -0,0 +1,51 @@ +/* + * 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/fec/tpc_encoder.h> +// pydoc.h is automatically generated in the build directory +#include <tpc_encoder_pydoc.h> + +void bind_tpc_encoder(py::module& m) +{ + + using tpc_encoder = ::gr::fec::tpc_encoder; + + + py::class_<tpc_encoder, gr::fec::generic_encoder, std::shared_ptr<tpc_encoder>>( + m, "tpc_encoder", D(tpc_encoder)) + + .def_static("make", + &tpc_encoder::make, + py::arg("row_poly"), + py::arg("col_poly"), + py::arg("krow"), + py::arg("kcol"), + py::arg("bval"), + py::arg("qval"), + D(tpc_encoder, make)) + + + .def("rate", &tpc_encoder::rate, D(tpc_encoder, rate)) + + + .def("set_frame_size", + &tpc_encoder::set_frame_size, + py::arg("arg0"), + D(tpc_encoder, set_frame_size)) + + ; +} diff --git a/gr-fec/python/fec/bindings/viterbi_python.cc b/gr-fec/python/fec/bindings/viterbi_python.cc new file mode 100644 index 0000000000..8917f9e467 --- /dev/null +++ b/gr-fec/python/fec/bindings/viterbi_python.cc @@ -0,0 +1,78 @@ +/* + * 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/fec/viterbi.h> +// pydoc.h is automatically generated in the build directory +#include <viterbi_pydoc.h> + +void bind_viterbi(py::module& m) +{ + + using viterbi_state = ::gr::fec::viterbi_state; + + + py::class_<viterbi_state, std::shared_ptr<viterbi_state>>( + m, "viterbi_state", D(viterbi_state)) + + .def(py::init<>(), D(viterbi_state, viterbi_state, 0)) + .def(py::init<gr::fec::viterbi_state const&>(), + py::arg("arg0"), + D(viterbi_state, viterbi_state, 1)) + + ; + + + m.def("gen_met", + &::gr::fec::gen_met, + py::arg("mettab"), + py::arg("amp"), + py::arg("esn0"), + py::arg("bias"), + py::arg("scale"), + D(gen_met)); + + + m.def("encode", + &::gr::fec::encode, + py::arg("symbols"), + py::arg("data"), + py::arg("nbytes"), + py::arg("encstate"), + D(encode)); + + + m.def("viterbi_chunks_init", + &::gr::fec::viterbi_chunks_init, + py::arg("state"), + D(viterbi_chunks_init)); + + + m.def("viterbi_butterfly2", + &::gr::fec::viterbi_butterfly2, + py::arg("symbols"), + py::arg("mettab"), + py::arg("state0"), + py::arg("state1"), + D(viterbi_butterfly2)); + + + m.def("viterbi_get_output", + &::gr::fec::viterbi_get_output, + py::arg("state"), + py::arg("outbuf"), + D(viterbi_get_output)); +} diff --git a/gr-fec/python/fec/capillary_threaded_decoder.py b/gr-fec/python/fec/capillary_threaded_decoder.py index 93a53161eb..4878021282 100644 --- a/gr-fec/python/fec/capillary_threaded_decoder.py +++ b/gr-fec/python/fec/capillary_threaded_decoder.py @@ -14,7 +14,7 @@ from __future__ import unicode_literals import math from gnuradio import gr, blocks -from . import fec_swig as fec +from . import fec_python as fec class capillary_threaded_decoder(gr.hier_block2): diff --git a/gr-fec/python/fec/capillary_threaded_encoder.py b/gr-fec/python/fec/capillary_threaded_encoder.py index 95d9f32531..4b67280574 100644 --- a/gr-fec/python/fec/capillary_threaded_encoder.py +++ b/gr-fec/python/fec/capillary_threaded_encoder.py @@ -14,7 +14,7 @@ from __future__ import unicode_literals import math from gnuradio import gr, blocks -from . import fec_swig as fec +from . import fec_python as fec class capillary_threaded_encoder(gr.hier_block2): diff --git a/gr-fec/python/fec/extended_async_encoder.py b/gr-fec/python/fec/extended_async_encoder.py index 9766c661ed..6390d135e2 100644 --- a/gr-fec/python/fec/extended_async_encoder.py +++ b/gr-fec/python/fec/extended_async_encoder.py @@ -16,7 +16,7 @@ import weakref from gnuradio import gr -from . import fec_swig as fec +from . import fec_python as fec from .bitflip import read_bitlist diff --git a/gr-fec/python/fec/extended_decoder.py b/gr-fec/python/fec/extended_decoder.py index 60dd3def3e..9dc8a926ef 100644 --- a/gr-fec/python/fec/extended_decoder.py +++ b/gr-fec/python/fec/extended_decoder.py @@ -15,7 +15,7 @@ from __future__ import unicode_literals from gnuradio import gr, blocks, digital -from . import fec_swig as fec +from . import fec_python as fec from .bitflip import * from .threaded_decoder import threaded_decoder diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py index 575e6cd438..447a8b3a69 100644 --- a/gr-fec/python/fec/extended_encoder.py +++ b/gr-fec/python/fec/extended_encoder.py @@ -13,7 +13,7 @@ from __future__ import unicode_literals from gnuradio import gr, blocks -from . import fec_swig as fec +from . import fec_python as fec from .threaded_encoder import threaded_encoder from .capillary_threaded_encoder import capillary_threaded_encoder from .bitflip import read_bitlist diff --git a/gr-fec/python/fec/extended_tagged_decoder.py b/gr-fec/python/fec/extended_tagged_decoder.py index 34c65c70cb..a98b76c8c5 100644 --- a/gr-fec/python/fec/extended_tagged_decoder.py +++ b/gr-fec/python/fec/extended_tagged_decoder.py @@ -15,7 +15,7 @@ from __future__ import unicode_literals from gnuradio import gr, blocks, digital -from . import fec_swig as fec +from . import fec_python as fec from .bitflip import * diff --git a/gr-fec/python/fec/extended_tagged_encoder.py b/gr-fec/python/fec/extended_tagged_encoder.py index 385eb1b402..3a43c28adc 100644 --- a/gr-fec/python/fec/extended_tagged_encoder.py +++ b/gr-fec/python/fec/extended_tagged_encoder.py @@ -14,7 +14,7 @@ from __future__ import unicode_literals from gnuradio import gr, blocks -from . import fec_swig as fec +from . import fec_python as fec from .bitflip import read_bitlist diff --git a/gr-fec/python/fec/qa_fecapi_dummy.py b/gr-fec/python/fec/qa_fecapi_dummy.py index df579f53b4..59c6e9732d 100644 --- a/gr-fec/python/fec/qa_fecapi_dummy.py +++ b/gr-fec/python/fec/qa_fecapi_dummy.py @@ -14,8 +14,8 @@ import numpy as np from gnuradio import gr, gr_unittest, blocks from gnuradio import fec -from fec import extended_encoder -from fec import extended_decoder +from gnuradio.fec import extended_encoder +from gnuradio.fec import extended_decoder from _qa_helper import _qa_helper @@ -218,12 +218,12 @@ class test_fecapi_dummy(gr_unittest.TestCase): r2 = snk2.data() r3 = snk3.data() - data = tuple(data) - packed_data = tuple(packed_data) - self.assertTupleEqual(packed_data, r0) - self.assertTupleEqual(data, r1) - self.assertTupleEqual(packed_data, r2) - self.assertTupleEqual(data, r3) + data = list(data) + packed_data = list(packed_data) + self.assertListEqual(packed_data, r0) + self.assertListEqual(data, r1) + self.assertListEqual(packed_data, r2) + self.assertListEqual(data, r3) if __name__ == '__main__': diff --git a/gr-fec/python/fec/qa_fecapi_ldpc.py b/gr-fec/python/fec/qa_fecapi_ldpc.py index d4d209aede..3a702cc609 100644 --- a/gr-fec/python/fec/qa_fecapi_ldpc.py +++ b/gr-fec/python/fec/qa_fecapi_ldpc.py @@ -15,8 +15,8 @@ import os from gnuradio import gr, gr_unittest from gnuradio import fec -from fec import extended_encoder -from fec import extended_decoder +from gnuradio.fec import extended_encoder +from gnuradio.fec import extended_decoder from _qa_helper import _qa_helper diff --git a/gr-fec/python/fec/qa_polar_decoder_sc.py b/gr-fec/python/fec/qa_polar_decoder_sc.py index 83943138f8..850fcb182d 100644 --- a/gr-fec/python/fec/qa_polar_decoder_sc.py +++ b/gr-fec/python/fec/qa_polar_decoder_sc.py @@ -17,9 +17,9 @@ import numpy as np from gnuradio import gr, gr_unittest, blocks from gnuradio import fec -from fec import extended_decoder -from fec.polar.encoder import PolarEncoder -from fec.polar import channel_construction as cc +from gnuradio.fec import extended_decoder +from gnuradio.fec.polar.encoder import PolarEncoder +from gnuradio.fec.polar import channel_construction as cc # import os # print('PID:', os.getpid()) diff --git a/gr-fec/python/fec/threaded_decoder.py b/gr-fec/python/fec/threaded_decoder.py index 76e49aa3a6..750128c0da 100644 --- a/gr-fec/python/fec/threaded_decoder.py +++ b/gr-fec/python/fec/threaded_decoder.py @@ -10,7 +10,7 @@ from __future__ import unicode_literals from gnuradio import gr, blocks -from . import fec_swig as fec +from . import fec_python as fec class threaded_decoder(gr.hier_block2): diff --git a/gr-fec/python/fec/threaded_encoder.py b/gr-fec/python/fec/threaded_encoder.py index a874b9851f..37cc8981b6 100644 --- a/gr-fec/python/fec/threaded_encoder.py +++ b/gr-fec/python/fec/threaded_encoder.py @@ -11,7 +11,7 @@ from __future__ import unicode_literals from gnuradio import gr, blocks -from . import fec_swig as fec +from . import fec_python as fec class threaded_encoder(gr.hier_block2): |