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/vector_source_impl.cc | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gr-blocks/lib/vector_source_impl.cc')
-rw-r--r-- | gr-blocks/lib/vector_source_impl.cc | 159 |
1 files changed, 79 insertions, 80 deletions
diff --git a/gr-blocks/lib/vector_source_impl.cc b/gr-blocks/lib/vector_source_impl.cc index 24a21854f2..b7f9409631 100644 --- a/gr-blocks/lib/vector_source_impl.cc +++ b/gr-blocks/lib/vector_source_impl.cc @@ -31,123 +31,122 @@ #include <stdexcept> namespace gr { - namespace blocks { +namespace blocks { - template <class T> - typename vector_source<T>::sptr - vector_source<T>::make(const std::vector<T> &data, - bool repeat, unsigned int vlen, - const std::vector<tag_t> &tags) - { - return gnuradio::get_initial_sptr - (new vector_source_impl<T> (data, repeat, vlen, tags)); - } +template <class T> +typename vector_source<T>::sptr vector_source<T>::make(const std::vector<T>& data, + bool repeat, + unsigned int vlen, + const std::vector<tag_t>& tags) +{ + return gnuradio::get_initial_sptr( + new vector_source_impl<T>(data, repeat, vlen, tags)); +} - template <class T> - vector_source_impl<T> ::vector_source_impl(const std::vector<T> &data, - bool repeat, unsigned int vlen, - const std::vector<tag_t> &tags) +template <class T> +vector_source_impl<T>::vector_source_impl(const std::vector<T>& data, + bool repeat, + unsigned int vlen, + const std::vector<tag_t>& tags) : sync_block("vector_source", - io_signature::make(0, 0, 0), - io_signature::make(1, 1, sizeof(T) * vlen)), + io_signature::make(0, 0, 0), + io_signature::make(1, 1, sizeof(T) * vlen)), d_data(data), d_repeat(repeat), d_offset(0), d_vlen(vlen), d_tags(tags) - { - if(tags.size() == 0) { +{ + if (tags.size() == 0) { d_settags = 0; - } - else { + } else { d_settags = 1; this->set_output_multiple(data.size() / vlen); - } - if((data.size() % vlen) != 0) - throw std::invalid_argument("data length must be a multiple of vlen"); } + if ((data.size() % vlen) != 0) + throw std::invalid_argument("data length must be a multiple of vlen"); +} - template <class T> - vector_source_impl<T> ::~vector_source_impl() - {} +template <class T> +vector_source_impl<T>::~vector_source_impl() +{ +} - template <class T> - void - vector_source_impl<T> ::set_data (const std::vector<T> &data, - const std::vector<tag_t> &tags) - { - d_data = data; - d_tags = tags; - rewind(); - if(tags.size() == 0) { +template <class T> +void vector_source_impl<T>::set_data(const std::vector<T>& data, + const std::vector<tag_t>& tags) +{ + d_data = data; + d_tags = tags; + rewind(); + if (tags.size() == 0) { d_settags = false; - } - else { + } else { d_settags = true; - } } +} - template <class T> - int - vector_source_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]; +template <class T> +int vector_source_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]; - if(d_repeat) { - unsigned int size = d_data.size (); + if (d_repeat) { + unsigned int size = d_data.size(); unsigned int offset = d_offset; - if(size == 0) - return -1; + if (size == 0) + return -1; - if(d_settags) { - int n_outputitems_per_vector = d_data.size() / d_vlen; - for(int i = 0; i < noutput_items; i += n_outputitems_per_vector) { - // FIXME do proper vector copy - memcpy((void *) optr, (const void*)&d_data[0], size*sizeof (T)); - optr += size; - for(unsigned t = 0; t < d_tags.size(); t++) { - this->add_item_tag(0, this->nitems_written(0)+i+d_tags[t].offset, - d_tags[t].key, d_tags[t].value, d_tags[t].srcid); + if (d_settags) { + int n_outputitems_per_vector = d_data.size() / d_vlen; + for (int i = 0; i < noutput_items; i += n_outputitems_per_vector) { + // FIXME do proper vector copy + memcpy((void*)optr, (const void*)&d_data[0], size * sizeof(T)); + optr += size; + for (unsigned t = 0; t < d_tags.size(); t++) { + this->add_item_tag(0, + this->nitems_written(0) + i + d_tags[t].offset, + d_tags[t].key, + d_tags[t].value, + d_tags[t].srcid); + } } - } - } - else { - for(int i = 0; i < static_cast<int>(noutput_items*d_vlen); i++) { - optr[i] = d_data[offset++]; - if(offset >= size) { - offset = 0; + } else { + for (int i = 0; i < static_cast<int>(noutput_items * d_vlen); i++) { + optr[i] = d_data[offset++]; + if (offset >= size) { + offset = 0; + } } - } } d_offset = offset; return noutput_items; - } - else { - if(d_offset >= d_data.size ()) - return -1; // Done! + } else { + if (d_offset >= d_data.size()) + return -1; // Done! unsigned n = std::min((unsigned)d_data.size() - d_offset, - (unsigned)noutput_items*d_vlen); - for(unsigned i = 0; i < n; i++) { - optr[i] = d_data[d_offset + i]; + (unsigned)noutput_items * d_vlen); + for (unsigned i = 0; i < n; i++) { + optr[i] = d_data[d_offset + i]; } - for(unsigned t = 0; t < d_tags.size(); t++) { - if((d_tags[t].offset >= d_offset) && (d_tags[t].offset < d_offset+n)) - this->add_item_tag(0, d_tags[t].offset, d_tags[t].key, d_tags[t].value, - d_tags[t].srcid); + for (unsigned t = 0; t < d_tags.size(); t++) { + if ((d_tags[t].offset >= d_offset) && (d_tags[t].offset < d_offset + n)) + this->add_item_tag( + 0, d_tags[t].offset, d_tags[t].key, d_tags[t].value, d_tags[t].srcid); } d_offset += n; - return n/d_vlen; - } + return n / d_vlen; } +} template class vector_source<std::uint8_t>; template class vector_source<std::int16_t>; template class vector_source<std::int32_t>; template class vector_source<float>; template class vector_source<gr_complex>; - } /* namespace blocks */ +} /* namespace blocks */ } /* namespace gr */ |