diff options
author | Marcus Müller <marcus@hostalia.de> | 2020-06-19 11:07:54 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2020-06-19 11:07:54 +0200 |
commit | e76d04ca2f4f15e3b1a1ab2a81dd52c4e6d2472c (patch) | |
tree | 1d86f68fceed9cd7204d9a79e816dc06c15feaf4 /gr-blocks/python/blocks/bindings/integrate_python.cc | |
parent | 98348e37209aa7daeb96fe5ead815e5b083dc6da (diff) | |
parent | 39311758cb1e6a7424d3213b3eb2c65c8c4dcfe1 (diff) |
Move from SWIG to Pybind11
Goodbye, and thanks for all the fish, SWIG.
Please refer to docs/PYBIND11.md for details on how to deal with Pybind.
Diffstat (limited to 'gr-blocks/python/blocks/bindings/integrate_python.cc')
-rw-r--r-- | gr-blocks/python/blocks/bindings/integrate_python.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gr-blocks/python/blocks/bindings/integrate_python.cc b/gr-blocks/python/blocks/bindings/integrate_python.cc new file mode 100644 index 0000000000..4fda3350c6 --- /dev/null +++ b/gr-blocks/python/blocks/bindings/integrate_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 and can be manually edited */ +/* The following lines can be configured to regenerate this file during cmake */ +/* If manual edits are made, the following tags should be modified accordingly. */ +/* BINDTOOL_GEN_AUTOMATIC(0) */ +/* BINDTOOL_USE_PYGCCXML(0) */ +/* BINDTOOL_HEADER_FILE(integrate.h) */ +/* BINDTOOL_HEADER_FILE_HASH(b6bcb8fd7c0af580007e18c72e7cbf5e) */ +/***********************************************************************************/ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/blocks/integrate.h> + +template <typename T> +void bind_integrate_template(py::module& m, const char* classname) +{ + using integrate = gr::blocks::integrate<T>; + + py::class_<integrate, + gr::sync_decimator, + gr::sync_block, + gr::block, + gr::basic_block, + std::shared_ptr<integrate>>(m, classname) + .def(py::init(&gr::blocks::integrate<T>::make), + py::arg("decim"), + py::arg("vlen") = 1); +} + +void bind_integrate(py::module& m) +{ + bind_integrate_template<std::int16_t>(m, "integrate_ss"); + bind_integrate_template<std::int32_t>(m, "integrate_ii"); + bind_integrate_template<float>(m, "integrate_ff"); + bind_integrate_template<gr_complex>(m, "integrate_cc"); +} |