diff options
Diffstat (limited to 'gr-blocks/lib/argmax_impl.cc')
-rw-r--r-- | gr-blocks/lib/argmax_impl.cc | 81 |
1 files changed, 39 insertions, 42 deletions
diff --git a/gr-blocks/lib/argmax_impl.cc b/gr-blocks/lib/argmax_impl.cc index b3fd548aee..c3d7546c34 100644 --- a/gr-blocks/lib/argmax_impl.cc +++ b/gr-blocks/lib/argmax_impl.cc @@ -28,64 +28,61 @@ #include <gnuradio/io_signature.h> namespace gr { - namespace blocks { +namespace blocks { - template <class T> - typename argmax<T>::sptr - argmax<T>::make(size_t vlen) - { - return gnuradio::get_initial_sptr - (new argmax_impl<T>(vlen)); - } +template <class T> +typename argmax<T>::sptr argmax<T>::make(size_t vlen) +{ + return gnuradio::get_initial_sptr(new argmax_impl<T>(vlen)); +} - template <class T> - argmax_impl<T>::argmax_impl(size_t vlen) +template <class T> +argmax_impl<T>::argmax_impl(size_t vlen) : sync_block("argmax", - io_signature::make(1, -1, vlen*sizeof(T)), - io_signature::make(2, 2, sizeof(std::int16_t))), + io_signature::make(1, -1, vlen * sizeof(T)), + io_signature::make(2, 2, sizeof(std::int16_t))), d_vlen(vlen) - { - } +{ +} - template <class T> - argmax_impl<T>::~argmax_impl() - { - } +template <class T> +argmax_impl<T>::~argmax_impl() +{ +} - template <class T> - int - argmax_impl<T>::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - int ninputs = input_items.size (); +template <class T> +int argmax_impl<T>::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + int ninputs = input_items.size(); - std::int16_t *x_optr = (std::int16_t *)output_items[0]; - std::int16_t *y_optr = (std::int16_t *)output_items[1]; + std::int16_t* x_optr = (std::int16_t*)output_items[0]; + std::int16_t* y_optr = (std::int16_t*)output_items[1]; - for(int i = 0; i < noutput_items; i++) { - T max = ((T *)input_items[0])[i*d_vlen]; + for (int i = 0; i < noutput_items; i++) { + T max = ((T*)input_items[0])[i * d_vlen]; int x = 0; int y = 0; - for(int j = 0; j < (int)d_vlen; j++ ) { - for(int k = 0; k < ninputs; k++) { - if(((T *)input_items[k])[i*d_vlen + j] > max) { - max = ((T *)input_items[k])[i*d_vlen + j]; - x = j; - y = k; + for (int j = 0; j < (int)d_vlen; j++) { + for (int k = 0; k < ninputs; k++) { + if (((T*)input_items[k])[i * d_vlen + j] > max) { + max = ((T*)input_items[k])[i * d_vlen + j]; + x = j; + y = k; + } } - } } *x_optr++ = (std::int16_t)x; *y_optr++ = (std::int16_t)y; - } - return noutput_items; } - template class argmax<float>; - template class argmax<std::int32_t>; - template class argmax<std::int16_t>; + return noutput_items; +} +template class argmax<float>; +template class argmax<std::int32_t>; +template class argmax<std::int16_t>; - } /* namespace blocks */ +} /* namespace blocks */ } /* namespace gr */ |