/* * 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/fft/fft.h> // pydoc.h is automatically generated in the build directory #include <fft_pydoc.h> void bind_fft(py::module& m) { using planner = ::gr::fft::planner; using fft_complex = ::gr::fft::fft_complex; using fft_real_fwd = ::gr::fft::fft_real_fwd; using fft_real_rev = ::gr::fft::fft_real_rev; py::class_<planner, std::shared_ptr<planner>>(m, "planner", D(planner)) .def(py::init<>(), D(planner, planner, 0)) .def(py::init<gr::fft::planner const&>(), py::arg("arg0"), D(planner, planner, 1)) .def_static("mutex", &planner::mutex, D(planner, mutex)) ; py::class_<fft_complex, std::shared_ptr<fft_complex>>( m, "fft_complex", D(fft_complex)) .def(py::init<int, bool, int>(), py::arg("fft_size"), py::arg("forward") = true, py::arg("nthreads") = 1, D(fft_complex, fft_complex)) .def("get_inbuf", &fft_complex::get_inbuf, D(fft_complex, get_inbuf)) .def("get_outbuf", &fft_complex::get_outbuf, D(fft_complex, get_outbuf)) .def("inbuf_length", &fft_complex::inbuf_length, D(fft_complex, inbuf_length)) .def("outbuf_length", &fft_complex::outbuf_length, D(fft_complex, outbuf_length)) .def("set_nthreads", &fft_complex::set_nthreads, py::arg("n"), D(fft_complex, set_nthreads)) .def("nthreads", &fft_complex::nthreads, D(fft_complex, nthreads)) .def("execute", &fft_complex::execute, D(fft_complex, execute)) ; py::class_<fft_real_fwd, std::shared_ptr<fft_real_fwd>>( m, "fft_real_fwd", D(fft_real_fwd)) .def(py::init<int, int>(), py::arg("fft_size"), py::arg("nthreads") = 1, D(fft_real_fwd, fft_real_fwd)) .def("get_inbuf", &fft_real_fwd::get_inbuf, D(fft_real_fwd, get_inbuf)) .def("get_outbuf", &fft_real_fwd::get_outbuf, D(fft_real_fwd, get_outbuf)) .def("inbuf_length", &fft_real_fwd::inbuf_length, D(fft_real_fwd, inbuf_length)) .def( "outbuf_length", &fft_real_fwd::outbuf_length, D(fft_real_fwd, outbuf_length)) .def("set_nthreads", &fft_real_fwd::set_nthreads, py::arg("n"), D(fft_real_fwd, set_nthreads)) .def("nthreads", &fft_real_fwd::nthreads, D(fft_real_fwd, nthreads)) .def("execute", &fft_real_fwd::execute, D(fft_real_fwd, execute)) ; py::class_<fft_real_rev, std::shared_ptr<fft_real_rev>>( m, "fft_real_rev", D(fft_real_rev)) .def(py::init<int, int>(), py::arg("fft_size"), py::arg("nthreads") = 1, D(fft_real_rev, fft_real_rev)) .def("get_inbuf", &fft_real_rev::get_inbuf, D(fft_real_rev, get_inbuf)) .def("get_outbuf", &fft_real_rev::get_outbuf, D(fft_real_rev, get_outbuf)) .def("inbuf_length", &fft_real_rev::inbuf_length, D(fft_real_rev, inbuf_length)) .def( "outbuf_length", &fft_real_rev::outbuf_length, D(fft_real_rev, outbuf_length)) .def("set_nthreads", &fft_real_rev::set_nthreads, py::arg("n"), D(fft_real_rev, set_nthreads)) .def("nthreads", &fft_real_rev::nthreads, D(fft_real_rev, nthreads)) .def("execute", &fft_real_rev::execute, D(fft_real_rev, execute)) ; m.def( "malloc_complex", &::gr::fft::malloc_complex, py::arg("size"), D(malloc_complex)); m.def("free", &::gr::fft::free, py::arg("b"), D(free)); }