/*
 * 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(filterbank.h)                                        */
/* BINDTOOL_HEADER_FILE_HASH(4d60cd35615f6bf0c8446169f1af7ece)                     */
/***********************************************************************************/

#include <pybind11/complex.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

namespace py = pybind11;

#include <gnuradio/filter/filterbank.h>
// pydoc.h is automatically generated in the build directory
#include <filterbank_pydoc.h>

void bind_filterbank(py::module& m)
{
    py::module m_kernel = m.def_submodule("kernel");
    using filterbank = gr::filter::kernel::filterbank;


    py::class_<filterbank, std::shared_ptr<filterbank>>(
        m_kernel, "filterbank", D(kernel, filterbank))

        .def(py::init<std::vector<
                 std::vector<float, std::allocator<float>>,
                 std::allocator<std::vector<float, std::allocator<float>>>> const&>(),
             py::arg("taps"),
             D(kernel, filterbank, filterbank, 0))

        .def("set_taps",
             &filterbank::set_taps,
             py::arg("taps"),
             D(kernel, filterbank, set_taps))


        .def("print_taps", &filterbank::print_taps, D(kernel, filterbank, print_taps))


        .def("taps", &filterbank::taps, D(kernel, filterbank, taps))

        ;
}
