diff options
Diffstat (limited to 'gr-digital/lib/pfb_clock_sync_ccf_impl.cc')
-rw-r--r-- | gr-digital/lib/pfb_clock_sync_ccf_impl.cc | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/gr-digital/lib/pfb_clock_sync_ccf_impl.cc b/gr-digital/lib/pfb_clock_sync_ccf_impl.cc index 2485560aa2..3ad559ee84 100644 --- a/gr-digital/lib/pfb_clock_sync_ccf_impl.cc +++ b/gr-digital/lib/pfb_clock_sync_ccf_impl.cc @@ -93,14 +93,14 @@ pfb_clock_sync_ccf_impl::pfb_clock_sync_ccf_impl(double sps, d_rate_f = d_rate - (float)d_rate_i; d_filtnum = (int)floor(d_k); - d_filters = std::vector<kernel::fir_filter_ccf*>(d_nfilters); - d_diff_filters = std::vector<kernel::fir_filter_ccf*>(d_nfilters); + d_filters.resize(d_nfilters); + d_diff_filters.resize(d_nfilters); // Create an FIR filter for each channel and zero out the taps std::vector<float> vtaps(1, 0); for (int i = 0; i < d_nfilters; i++) { - d_filters[i] = new kernel::fir_filter_ccf(1, vtaps); - d_diff_filters[i] = new kernel::fir_filter_ccf(1, vtaps); + d_filters[i].reset(new kernel::fir_filter_ccf(1, vtaps)); + d_diff_filters[i].reset(new kernel::fir_filter_ccf(1, vtaps)); } // Now, actually set the filters' taps @@ -116,14 +116,6 @@ pfb_clock_sync_ccf_impl::pfb_clock_sync_ccf_impl(double sps, set_relative_rate((uint64_t)d_osps, (uint64_t)d_sps); } -pfb_clock_sync_ccf_impl::~pfb_clock_sync_ccf_impl() -{ - for (int i = 0; i < d_nfilters; i++) { - delete d_filters[i]; - delete d_diff_filters[i]; - } -} - bool pfb_clock_sync_ccf_impl::check_topology(int ninputs, int noutputs) { return noutputs == 1 || noutputs == 4; @@ -217,7 +209,7 @@ void pfb_clock_sync_ccf_impl::update_gains() void pfb_clock_sync_ccf_impl::set_taps(const std::vector<float>& newtaps, std::vector<std::vector<float>>& ourtaps, - std::vector<kernel::fir_filter_ccf*>& ourfilter) + std::vector<std::unique_ptr<kernel::fir_filter_ccf>>& ourfilter) { int i, j; |