diff options
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r-- | gnuradio-core/src/lib/general/gr_float_to_complex.cc | 17 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_float_to_complex.h | 10 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_float_to_complex.i | 6 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t | 17 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gengen/gr_divide_XX.h.t | 10 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gengen/gr_divide_XX.i.t | 6 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t | 16 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gengen/gr_sub_XX.h.t | 10 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gengen/gr_sub_XX.i.t | 6 |
9 files changed, 53 insertions, 45 deletions
diff --git a/gnuradio-core/src/lib/general/gr_float_to_complex.cc b/gnuradio-core/src/lib/general/gr_float_to_complex.cc index 0c5c22d02..077a498ae 100644 --- a/gnuradio-core/src/lib/general/gr_float_to_complex.cc +++ b/gnuradio-core/src/lib/general/gr_float_to_complex.cc @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -28,15 +28,16 @@ #include <gr_io_signature.h> gr_float_to_complex_sptr -gr_make_float_to_complex () +gr_make_float_to_complex (int vlen) { - return gr_float_to_complex_sptr (new gr_float_to_complex ()); + return gr_float_to_complex_sptr (new gr_float_to_complex (vlen)); } -gr_float_to_complex::gr_float_to_complex () +gr_float_to_complex::gr_float_to_complex (int vlen) : gr_sync_block ("gr_float_to_complex", - gr_make_io_signature (1, 2, sizeof (float)), - gr_make_io_signature (1, 1, sizeof (gr_complex))) + gr_make_io_signature (1, 2, sizeof (float) * vlen), + gr_make_io_signature (1, 1, sizeof (gr_complex) * vlen)), + d_vlen (vlen) { } @@ -51,12 +52,12 @@ gr_float_to_complex::work (int noutput_items, switch (input_items.size ()){ case 1: - for (int j = 0; j < noutput_items; j++) + for (int j = 0; j < noutput_items*d_vlen; j++) out[j] = gr_complex (r[j], 0); break; case 2: - for (int j = 0; j < noutput_items; j++) + for (int j = 0; j < noutput_items*d_vlen; j++) out[j] = gr_complex (r[j], i[j]); break; diff --git a/gnuradio-core/src/lib/general/gr_float_to_complex.h b/gnuradio-core/src/lib/general/gr_float_to_complex.h index 67dfa6b15..4a3940929 100644 --- a/gnuradio-core/src/lib/general/gr_float_to_complex.h +++ b/gnuradio-core/src/lib/general/gr_float_to_complex.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -30,7 +30,7 @@ class gr_float_to_complex; typedef boost::shared_ptr<gr_float_to_complex> gr_float_to_complex_sptr; gr_float_to_complex_sptr -gr_make_float_to_complex (); +gr_make_float_to_complex (int vlen = 1); /*! * \brief Convert 1 or 2 streams of float to a stream of gr_complex @@ -39,8 +39,10 @@ gr_make_float_to_complex (); class gr_float_to_complex : public gr_sync_block { - friend gr_float_to_complex_sptr gr_make_float_to_complex (); - gr_float_to_complex (); + friend gr_float_to_complex_sptr gr_make_float_to_complex (int vlen); + gr_float_to_complex (int vlen); + + int d_vlen; public: virtual int work (int noutput_items, diff --git a/gnuradio-core/src/lib/general/gr_float_to_complex.i b/gnuradio-core/src/lib/general/gr_float_to_complex.i index 0dd0635bc..71e59a8c8 100644 --- a/gnuradio-core/src/lib/general/gr_float_to_complex.i +++ b/gnuradio-core/src/lib/general/gr_float_to_complex.i @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -22,9 +22,9 @@ GR_SWIG_BLOCK_MAGIC(gr,float_to_complex) -gr_float_to_complex_sptr gr_make_float_to_complex (); +gr_float_to_complex_sptr gr_make_float_to_complex (int vlen = 1); class gr_float_to_complex : public gr_sync_block { - gr_float_to_complex (); + gr_float_to_complex (int vlen); }; diff --git a/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t index fbffc2d59..9fc6d34e9 100644 --- a/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t +++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -30,15 +30,16 @@ #include <gr_io_signature.h> @SPTR_NAME@ -gr_make_@BASE_NAME@ () +gr_make_@BASE_NAME@ (int vlen) { - return @SPTR_NAME@ (new @NAME@ ()); + return @SPTR_NAME@ (new @NAME@ (vlen)); } -@NAME@::@NAME@ () +@NAME@::@NAME@ (int vlen) : gr_sync_block ("@BASE_NAME@", - gr_make_io_signature (1, -1, sizeof (@I_TYPE@)), - gr_make_io_signature (1, 1, sizeof (@O_TYPE@))) + gr_make_io_signature (1, -1, sizeof (@I_TYPE@)*vlen), + gr_make_io_signature (1, 1, sizeof (@O_TYPE@)*vlen)), + d_vlen (vlen) { } @@ -52,13 +53,13 @@ int int ninputs = input_items.size (); if (ninputs == 1){ // compute reciprocal - for (int i = 0; i < noutput_items; i++) + for (int i = 0; i < noutput_items*d_vlen; i++) *optr++ = (@O_TYPE@) ((@O_TYPE@) 1 / ((@I_TYPE@ *) input_items[0])[i]); } else { - for (int i = 0; i < noutput_items; i++){ + for (int i = 0; i < noutput_items*d_vlen; i++){ @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i]; for (int j = 1; j < ninputs; j++) acc /= ((@I_TYPE@ *) input_items[j])[i]; diff --git a/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t index 0a1d4d8ac..1489986b9 100644 --- a/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t +++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -30,7 +30,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ gr_make_@BASE_NAME@ (); +@SPTR_NAME@ gr_make_@BASE_NAME@ (int vlen = 1); /*! * \brief output = input_0 / input_1 / input_x ...) @@ -40,9 +40,11 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; */ class @NAME@ : public gr_sync_block { - friend @SPTR_NAME@ gr_make_@BASE_NAME@ (); + friend @SPTR_NAME@ gr_make_@BASE_NAME@ (int vlen); - @NAME@ (); + @NAME@ (int vlen); + + int d_vlen; public: diff --git a/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t index a4bc4ce67..f07481a8b 100644 --- a/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t +++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -24,10 +24,10 @@ GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@) -@SPTR_NAME@ gr_make_@BASE_NAME@ (); +@SPTR_NAME@ gr_make_@BASE_NAME@ (int vlen = 1); class @NAME@ : public gr_sync_block { private: - @NAME@ (); + @NAME@ (int vlen); }; diff --git a/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t index 178e17145..93895fed6 100644 --- a/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t +++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -30,15 +30,15 @@ #include <gr_io_signature.h> @SPTR_NAME@ -gr_make_@BASE_NAME@ () +gr_make_@BASE_NAME@ (int vlen) { - return @SPTR_NAME@ (new @NAME@ ()); + return @SPTR_NAME@ (new @NAME@ (vlen)); } -@NAME@::@NAME@ () +@NAME@::@NAME@ (int vlen) : gr_sync_block ("@BASE_NAME@", - gr_make_io_signature (1, -1, sizeof (@I_TYPE@)), - gr_make_io_signature (1, 1, sizeof (@O_TYPE@))) + gr_make_io_signature (1, -1, sizeof (@I_TYPE@)*vlen), + gr_make_io_signature (1, 1, sizeof (@O_TYPE@)*vlen)) { } @@ -52,12 +52,12 @@ int int ninputs = input_items.size (); if (ninputs == 1){ // negate - for (int i = 0; i < noutput_items; i++) + for (int i = 0; i < noutput_items*d_vlen; i++) *optr++ = (@O_TYPE@) -((@I_TYPE@ *) input_items[0])[i]; } else { - for (int i = 0; i < noutput_items; i++){ + for (int i = 0; i < noutput_items*d_vlen; i++){ @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i]; for (int j = 1; j < ninputs; j++) acc -= ((@I_TYPE@ *) input_items[j])[i]; diff --git a/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t index 8839a158a..d251e6768 100644 --- a/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t +++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -30,7 +30,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ gr_make_@BASE_NAME@ (); +@SPTR_NAME@ gr_make_@BASE_NAME@ (int vlen = 1); /*! * \brief output = input_0 - input_1 - ...) @@ -40,9 +40,11 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; */ class @NAME@ : public gr_sync_block { - friend @SPTR_NAME@ gr_make_@BASE_NAME@ (); + friend @SPTR_NAME@ gr_make_@BASE_NAME@ (int vlen); - @NAME@ (); + @NAME@ (int vlen); + + int d_vlen; public: diff --git a/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t index a4bc4ce67..f07481a8b 100644 --- a/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t +++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004, 2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -24,10 +24,10 @@ GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@) -@SPTR_NAME@ gr_make_@BASE_NAME@ (); +@SPTR_NAME@ gr_make_@BASE_NAME@ (int vlen = 1); class @NAME@ : public gr_sync_block { private: - @NAME@ (); + @NAME@ (int vlen); }; |