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/multiply_impl.cc | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gr-blocks/lib/multiply_impl.cc')
-rw-r--r-- | gr-blocks/lib/multiply_impl.cc | 159 |
1 files changed, 77 insertions, 82 deletions
diff --git a/gr-blocks/lib/multiply_impl.cc b/gr-blocks/lib/multiply_impl.cc index 22845251fb..5778f17ba7 100644 --- a/gr-blocks/lib/multiply_impl.cc +++ b/gr-blocks/lib/multiply_impl.cc @@ -30,103 +30,98 @@ #include <volk/volk.h> namespace gr { - namespace blocks { - - template <class T> - typename multiply<T>::sptr multiply<T>::make(size_t vlen) - { - return gnuradio::get_initial_sptr(new multiply_impl<T> (vlen)); - } - - template <> - multiply_impl<float>::multiply_impl(size_t vlen) - : sync_block("multiply_ff", - io_signature::make (1, -1, sizeof(float)*vlen), - io_signature::make (1, 1, sizeof(float)*vlen)), - d_vlen(vlen) - { - const int alignment_multiple = - volk_get_alignment() / sizeof(float); - set_alignment(std::max(1, alignment_multiple)); - } - - template<> - int - multiply_impl<float>::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - float *out = (float *) output_items[0]; - int noi = d_vlen*noutput_items; - - memcpy(out, input_items[0], noi*sizeof(float)); - for(size_t i = 1; i < input_items.size(); i++) +namespace blocks { + +template <class T> +typename multiply<T>::sptr multiply<T>::make(size_t vlen) +{ + return gnuradio::get_initial_sptr(new multiply_impl<T>(vlen)); +} + +template <> +multiply_impl<float>::multiply_impl(size_t vlen) + : sync_block("multiply_ff", + io_signature::make(1, -1, sizeof(float) * vlen), + io_signature::make(1, 1, sizeof(float) * vlen)), + d_vlen(vlen) +{ + const int alignment_multiple = volk_get_alignment() / sizeof(float); + set_alignment(std::max(1, alignment_multiple)); +} + +template <> +int multiply_impl<float>::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + float* out = (float*)output_items[0]; + int noi = d_vlen * noutput_items; + + memcpy(out, input_items[0], noi * sizeof(float)); + for (size_t i = 1; i < input_items.size(); i++) volk_32f_x2_multiply_32f(out, out, (float*)input_items[i], noi); - return noutput_items; - } - - template <> - multiply_impl<gr_complex>::multiply_impl(size_t vlen) - : sync_block("multiply_cc", - io_signature::make (1, -1, sizeof(gr_complex)*vlen), - io_signature::make (1, 1, sizeof(gr_complex)*vlen)), - d_vlen(vlen) - { - const int alignment_multiple = - volk_get_alignment() / sizeof(gr_complex); - set_alignment(std::max(1, alignment_multiple)); - } + return noutput_items; +} - template <> - int - multiply_impl<gr_complex>::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - gr_complex *out = (gr_complex *) output_items[0]; - int noi = d_vlen*noutput_items; - - memcpy(out, input_items[0], noi*sizeof(gr_complex)); - for(size_t i = 1; i < input_items.size(); i++) +template <> +multiply_impl<gr_complex>::multiply_impl(size_t vlen) + : sync_block("multiply_cc", + io_signature::make(1, -1, sizeof(gr_complex) * vlen), + io_signature::make(1, 1, sizeof(gr_complex) * vlen)), + d_vlen(vlen) +{ + const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex); + set_alignment(std::max(1, alignment_multiple)); +} + +template <> +int multiply_impl<gr_complex>::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + gr_complex* out = (gr_complex*)output_items[0]; + int noi = d_vlen * noutput_items; + + memcpy(out, input_items[0], noi * sizeof(gr_complex)); + for (size_t i = 1; i < input_items.size(); i++) volk_32fc_x2_multiply_32fc(out, out, (gr_complex*)input_items[i], noi); - return noutput_items; - } + return noutput_items; +} - template <class T> - multiply_impl<T> ::multiply_impl(size_t vlen) - : sync_block ("multiply", - io_signature::make (1, -1, sizeof (T)*vlen), - io_signature::make (1, 1, sizeof (T)*vlen)), +template <class T> +multiply_impl<T>::multiply_impl(size_t vlen) + : sync_block("multiply", + io_signature::make(1, -1, sizeof(T) * vlen), + io_signature::make(1, 1, sizeof(T) * vlen)), d_vlen(vlen) - { - } - - template <class T> - int - multiply_impl<T> ::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - T *optr = (T *) output_items[0]; +{ +} - int ninputs = input_items.size (); +template <class T> +int multiply_impl<T>::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + T* optr = (T*)output_items[0]; - for (size_t i = 0; i < noutput_items*d_vlen; i++){ - T acc = ((T *) input_items[0])[i]; - for (int j = 1; j < ninputs; j++) - acc *= ((T *) input_items[j])[i]; + int ninputs = input_items.size(); - *optr++ = (T) acc; - } + for (size_t i = 0; i < noutput_items * d_vlen; i++) { + T acc = ((T*)input_items[0])[i]; + for (int j = 1; j < ninputs; j++) + acc *= ((T*)input_items[j])[i]; - return noutput_items; + *optr++ = (T)acc; } + return noutput_items; +} + template class multiply<std::int16_t>; template class multiply<std::int32_t>; template class multiply<gr_complex>; template class multiply<float>; - } /* namespace blocks */ +} /* namespace blocks */ } /* namespace gr */ |