diff options
author | Marcus Müller <mmueller@gnuradio.org> | 2019-08-07 21:45:12 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2019-08-09 23:04:28 +0200 |
commit | f7bbf2c1d8d780294f3e016aff239ca35eb6516e (patch) | |
tree | e09ab6112e02b2215b2d59ac24d3d6ea2edac745 /gr-blocks/lib/moving_average_impl.cc | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gr-blocks/lib/moving_average_impl.cc')
-rw-r--r-- | gr-blocks/lib/moving_average_impl.cc | 173 |
1 files changed, 87 insertions, 86 deletions
diff --git a/gr-blocks/lib/moving_average_impl.cc b/gr-blocks/lib/moving_average_impl.cc index b77a70a440..3342e2c937 100644 --- a/gr-blocks/lib/moving_average_impl.cc +++ b/gr-blocks/lib/moving_average_impl.cc @@ -29,21 +29,24 @@ #include <gnuradio/io_signature.h> namespace gr { - namespace blocks { - - template <class T> - typename moving_average<T>::sptr - moving_average<T>::make(int length, T scale, int max_iter, unsigned int vlen) - { - return gnuradio::get_initial_sptr - (new moving_average_impl<T> (length, scale, max_iter, vlen)); - } - - template <class T> - moving_average_impl<T>::moving_average_impl(int length, T scale, int max_iter, unsigned int vlen) +namespace blocks { + +template <class T> +typename moving_average<T>::sptr +moving_average<T>::make(int length, T scale, int max_iter, unsigned int vlen) +{ + return gnuradio::get_initial_sptr( + new moving_average_impl<T>(length, scale, max_iter, vlen)); +} + +template <class T> +moving_average_impl<T>::moving_average_impl(int length, + T scale, + int max_iter, + unsigned int vlen) : sync_block("moving_average", - io_signature::make(1, 1, sizeof(T)*vlen), - io_signature::make(1, 1, sizeof(T)*vlen)), + io_signature::make(1, 1, sizeof(T) * vlen), + io_signature::make(1, 1, sizeof(T) * vlen)), d_length(length), d_scale(scale), d_max_iter(max_iter), @@ -51,101 +54,99 @@ namespace gr { d_new_length(length), d_new_scale(scale), d_updated(false) - { - this->set_history(length); - //we don't have C++11's <array>, so initialize the stored vector instead - //we store this vector so that work() doesn't spend its time allocating and freeing vector storage - if(d_vlen > 1) { +{ + this->set_history(length); + // we don't have C++11's <array>, so initialize the stored vector instead + // we store this vector so that work() doesn't spend its time allocating and freeing + // vector storage + if (d_vlen > 1) { d_sum = std::vector<T>(d_vlen); - } - } - - template <class T> - moving_average_impl<T> ::~moving_average_impl() - { - } - - template <class T> - void - moving_average_impl<T> ::set_length_and_scale(int length, T scale) - { - d_new_length = length; - d_new_scale = scale; - d_updated = true; } - - template <class T> - void - moving_average_impl<T> ::set_length(int length) - { - d_new_length = length; - d_updated = true; - } - - template <class T> - void - moving_average_impl<T> ::set_scale(T scale) - { - d_new_scale = scale; - d_updated = true; - } - - template <class T> - int - moving_average_impl<T> ::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - if(d_updated) { +} + +template <class T> +moving_average_impl<T>::~moving_average_impl() +{ +} + +template <class T> +void moving_average_impl<T>::set_length_and_scale(int length, T scale) +{ + d_new_length = length; + d_new_scale = scale; + d_updated = true; +} + +template <class T> +void moving_average_impl<T>::set_length(int length) +{ + d_new_length = length; + d_updated = true; +} + +template <class T> +void moving_average_impl<T>::set_scale(T scale) +{ + d_new_scale = scale; + d_updated = true; +} + +template <class T> +int moving_average_impl<T>::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + if (d_updated) { d_length = d_new_length; d_scale = d_new_scale; this->set_history(d_length); d_updated = false; return 0; // history requirements might have changed - } + } - const T *in = (const T *)input_items[0]; - T *out = (T *)output_items[0]; + const T* in = (const T*)input_items[0]; + T* out = (T*)output_items[0]; - unsigned int num_iter = (unsigned int)((noutput_items>d_max_iter) ? d_max_iter : noutput_items); - if(d_vlen == 1) { + unsigned int num_iter = + (unsigned int)((noutput_items > d_max_iter) ? d_max_iter : noutput_items); + if (d_vlen == 1) { T sum = in[0]; - for(int i = 1; i < d_length-1; i++) { - sum += in[i]; + for (int i = 1; i < d_length - 1; i++) { + sum += in[i]; } - for(unsigned int i = 0; i < num_iter; i++) { - sum += in[i+d_length-1]; - out[i] = sum * d_scale; - sum -= in[i]; + for (unsigned int i = 0; i < num_iter; i++) { + sum += in[i + d_length - 1]; + out[i] = sum * d_scale; + sum -= in[i]; } - } else { // d_vlen > 1 - //gets automatically optimized well - for(unsigned int elem = 0; elem < d_vlen; elem++) { - d_sum[elem] = in[elem]; + } else { // d_vlen > 1 + // gets automatically optimized well + for (unsigned int elem = 0; elem < d_vlen; elem++) { + d_sum[elem] = in[elem]; } - for(int i = 1; i < d_length - 1; i++) { - for(unsigned int elem = 0; elem < d_vlen; elem++) { - d_sum[elem] += in[i*d_vlen + elem]; - } + for (int i = 1; i < d_length - 1; i++) { + for (unsigned int elem = 0; elem < d_vlen; elem++) { + d_sum[elem] += in[i * d_vlen + elem]; + } } - for(unsigned int i = 0; i < num_iter; i++) { - for(unsigned int elem = 0; elem < d_vlen; elem++) { - d_sum[elem] += in[(i+d_length-1)*d_vlen + elem]; - out[i*d_vlen + elem] = d_sum[elem] * d_scale; - d_sum[elem] -= in[i*d_vlen + elem]; - } + for (unsigned int i = 0; i < num_iter; i++) { + for (unsigned int elem = 0; elem < d_vlen; elem++) { + d_sum[elem] += in[(i + d_length - 1) * d_vlen + elem]; + out[i * d_vlen + elem] = d_sum[elem] * d_scale; + d_sum[elem] -= in[i * d_vlen + elem]; + } } - } - return num_iter; } + return num_iter; +} template class moving_average<std::int16_t>; template class moving_average<std::int32_t>; template class moving_average<float>; template class moving_average<gr_complex>; - } /* namespace blocks */ +} /* namespace blocks */ } /* namespace gr */ |