summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
authorEric Blossom2010-11-14 13:26:59 -0800
committerEric Blossom2010-11-14 13:26:59 -0800
commitf2d5299a3f7dd5baa795a27c2864b2cfe67edb37 (patch)
tree9c9af83b87345610cab5b65b35c8ce9ce03921e7 /gnuradio-core/src
parenteedcd7145c20403dcd0dcc44d15efb5d82beb7ec (diff)
downloadgnuradio-f2d5299a3f7dd5baa795a27c2864b2cfe67edb37.tar.gz
gnuradio-f2d5299a3f7dd5baa795a27c2864b2cfe67edb37.tar.bz2
gnuradio-f2d5299a3f7dd5baa795a27c2864b2cfe67edb37.zip
Add tests that show that vector<complex<float>> is not working...
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/guile/tests/general_ctors.test22
-rw-r--r--gnuradio-core/src/lib/general/Makefile.am3
-rw-r--r--gnuradio-core/src/lib/general/complex_vec_test.cc37
-rw-r--r--gnuradio-core/src/lib/general/complex_vec_test.h15
-rw-r--r--gnuradio-core/src/lib/general/complex_vec_test.i12
-rw-r--r--gnuradio-core/src/lib/general/general.i2
6 files changed, 91 insertions, 0 deletions
diff --git a/gnuradio-core/src/guile/tests/general_ctors.test b/gnuradio-core/src/guile/tests/general_ctors.test
index 75c0f0bd4..a18766400 100644
--- a/gnuradio-core/src/guile/tests/general_ctors.test
+++ b/gnuradio-core/src/guile/tests/general_ctors.test
@@ -28,6 +28,28 @@
(use-modules (gnuradio test-suite lib))
(use-modules (gnuradio core))
(use-modules (oop goops))
+(use-modules (ice-9 format))
+
+
+(define (verbose-equal? expected actual)
+ (cond ((equal? expected actual) #t)
+ (else
+ (format #t "Expected:\n~y\n" expected)
+ (format #t "Actual:\n~y\n" actual)
+ #f)))
+
+
+;;; Test complex<float> scalars
+(pass-if (equal? 5.0+5.0i (gr:complex-scalar-test0)))
+(pass-if (equal? 1.5+0.5i (gr:complex-scalar-test1 1+1i)))
+
+;;; Test complex<float> vectors
+(pass-if (verbose-equal? #(0+0i 1+1i 2+2i 3+3i 4+4i)
+ (gr:complex-vec-test0)))
+
+(pass-if (verbose-equal? #(1.5+0.5i 2.5+1.5i 3.5+2.5i)
+ (gr:complex-vec-test1 #(1+1i 2+2i 3+3i))))
+
;;; Add test code for all constructors in these files
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am
index 3d8a42805..735795789 100644
--- a/gnuradio-core/src/lib/general/Makefile.am
+++ b/gnuradio-core/src/lib/general/Makefile.am
@@ -34,6 +34,7 @@ EXTRA_DIST = \
gr_constants.cc.in
libgeneral_la_SOURCES = \
+ complex_vec_test.cc \
gr_additive_scrambler_bb.cc \
gr_agc_cc.cc \
gr_agc_ff.cc \
@@ -188,6 +189,7 @@ libgeneral_qa_la_SOURCES = \
qa_gri_lfsr.cc
grinclude_HEADERS = \
+ complex_vec_test.h \
gr_additive_scrambler_bb.h \
gr_agc_cc.h \
gr_agc_ff.h \
@@ -359,6 +361,7 @@ noinst_HEADERS = \
if PYTHON
swiginclude_HEADERS = \
+ complex_vec_test.i \
general.i \
gr_additive_scrambler_bb.i \
gr_agc_cc.i \
diff --git a/gnuradio-core/src/lib/general/complex_vec_test.cc b/gnuradio-core/src/lib/general/complex_vec_test.cc
new file mode 100644
index 000000000..21bca1765
--- /dev/null
+++ b/gnuradio-core/src/lib/general/complex_vec_test.cc
@@ -0,0 +1,37 @@
+#include <complex_vec_test.h>
+#include <stddef.h>
+
+std::vector<std::complex<float> >
+complex_vec_test0()
+{
+ std::vector<std::complex<float> > r(5);
+
+ for (size_t i = 0; i < r.size(); i++)
+ r[i] = std::complex<float>(i, i);
+
+ return r;
+}
+
+std::vector<std::complex<float> >
+complex_vec_test1(const std::vector<std::complex<float> > &input)
+{
+ std::vector<std::complex<float> > r(input.size());
+
+ for (size_t i = 0; i < input.size(); i++)
+ r[i] = std::complex<float>(input[i].real()+0.5, input[i].imag()-0.5);
+
+ return r;
+}
+
+std::complex<float>
+complex_scalar_test0()
+{
+ return std::complex<float>(5, 5);
+}
+
+std::complex<float>
+complex_scalar_test1(std::complex<float> input)
+{
+ return std::complex<float>(input.real()+0.5, input.imag()-0.5);
+}
+
diff --git a/gnuradio-core/src/lib/general/complex_vec_test.h b/gnuradio-core/src/lib/general/complex_vec_test.h
new file mode 100644
index 000000000..f1a8a14e2
--- /dev/null
+++ b/gnuradio-core/src/lib/general/complex_vec_test.h
@@ -0,0 +1,15 @@
+#include <vector>
+#include <complex>
+
+std::vector<std::complex<float> >
+complex_vec_test0();
+
+std::vector<std::complex<float> >
+complex_vec_test1(const std::vector<std::complex<float> > &input);
+
+std::complex<float>
+complex_scalar_test0();
+
+std::complex<float>
+complex_scalar_test1(std::complex<float> input);
+
diff --git a/gnuradio-core/src/lib/general/complex_vec_test.i b/gnuradio-core/src/lib/general/complex_vec_test.i
new file mode 100644
index 000000000..1c62cfda2
--- /dev/null
+++ b/gnuradio-core/src/lib/general/complex_vec_test.i
@@ -0,0 +1,12 @@
+std::vector<std::complex<float> >
+complex_vec_test0();
+
+std::vector<std::complex<float> >
+complex_vec_test1(const std::vector<std::complex<float> > &input);
+
+std::complex<float>
+complex_scalar_test0();
+
+std::complex<float>
+complex_scalar_test1(std::complex<float> input);
+
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index 3ad40b218..2c86a6240 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -141,6 +141,7 @@
#include <gr_copy.h>
#include <gr_fll_band_edge_cc.h>
#include <gr_additive_scrambler_bb.h>
+#include <complex_vec_test.h>
%}
%include "gr_nop.i"
@@ -262,3 +263,4 @@
%include "gr_copy.i"
%include "gr_fll_band_edge_cc.i"
%include "gr_additive_scrambler_bb.i"
+%include "complex_vec_test.i"