X-Git-Url: https://git.gag.com/?p=debian%2Fgnuradio;a=blobdiff_plain;f=gnuradio-core%2Fsrc%2Flib%2Fgengen%2Fgr_vector_source_b.cc;fp=gnuradio-core%2Fsrc%2Flib%2Fgengen%2Fgr_vector_source_b.cc;h=0000000000000000000000000000000000000000;hp=3cff2fd5ac3bfa4db6452027a2c923abebd72e8a;hb=50d7e320946d6ca23eaf55d491247cc0cb1f04f5;hpb=060b04c1b851a162dc91994d7bbe7818dfa5ae13 diff --git a/gnuradio-core/src/lib/gengen/gr_vector_source_b.cc b/gnuradio-core/src/lib/gengen/gr_vector_source_b.cc deleted file mode 100644 index 3cff2fd5..00000000 --- a/gnuradio-core/src/lib/gengen/gr_vector_source_b.cc +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2008 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -// WARNING: this file is machine generated. Edits will be over written - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include -#include -#include - - -gr_vector_source_b::gr_vector_source_b (const std::vector &data, bool repeat, int vlen) - : gr_sync_block ("vector_source_b", - gr_make_io_signature (0, 0, 0), - gr_make_io_signature (1, 1, sizeof (unsigned char) * vlen)), - d_data (data), - d_repeat (repeat), - d_offset (0), - d_vlen (vlen) -{ - if ((data.size() % vlen) != 0) - throw std::invalid_argument("data length must be a multiple of vlen"); -} - -int -gr_vector_source_b::work (int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) -{ - unsigned char *optr = (unsigned char *) output_items[0]; - - if (d_repeat){ - unsigned int size = d_data.size (); - unsigned int offset = d_offset; - - if (size == 0) - return -1; - - for (int i = 0; i < 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! - - 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]; - - d_offset += n; - return n/d_vlen; - } -} - -gr_vector_source_b_sptr -gr_make_vector_source_b (const std::vector &data, bool repeat, int vlen) -{ - return gr_vector_source_b_sptr (new gr_vector_source_b (data, repeat, vlen)); -} -