summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_complex.cc17
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_complex.h10
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_complex.i6
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t17
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.h.t10
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.i.t6
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t16
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.h.t10
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.i.t6
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);
};