[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tests for filter.cc
From: |
Robert T. Short |
Subject: |
Tests for filter.cc |
Date: |
Mon, 29 Jun 2009 16:51:19 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.22) Gecko/20090606 SeaMonkey/1.1.17 |
Attached is a patch with tests for filter.cc.
These tests all run in MATLAB.
I have not done tests for the DIM parameter.
Bob
# HG changeset patch
# User Robert T. Short <address@hidden>
# Date 1246319239 25200
# Node ID d86f024922ed74e795c6bed3de8e346daaedb92e
# Parent 9b82ea57212f14a2a93091817da49fd6f53e4318
* src/DLD-FUNCTIONS/filter.cc: add tests
diff -r 9b82ea57212f -r d86f024922ed src/ChangeLog
--- a/src/ChangeLog Sun Jun 28 09:24:24 2009 -0700
+++ b/src/ChangeLog Mon Jun 29 16:47:19 2009 -0700
@@ -1,3 +1,7 @@
+2009-06-29 Robert T. Short <address@hidden>
+
+ * DLD-FUNCTIONS/filter.cc: add tests
+
2009-06-28 Michael Goffioul <address@hidden>
* Makefile.in (INCLUDES): Install txt-eng.h and txt-eng-ft.h.
diff -r 9b82ea57212f -r d86f024922ed src/DLD-FUNCTIONS/filter.cc
--- a/src/DLD-FUNCTIONS/filter.cc Sun Jun 28 09:24:24 2009 -0700
+++ b/src/DLD-FUNCTIONS/filter.cc Mon Jun 29 16:47:19 2009 -0700
@@ -690,6 +690,64 @@
filter (MArray<FloatComplex>&, MArray<FloatComplex>&, MArrayN<FloatComplex>&,
int dim);
/*
+%!shared a, b, x, r
+%!test
+%! a = [1 1];
+%! b = [1 1];
+%! x = zeros(1,10); x(1) = 1;
+%! assert(all(filter(b, [1], x ) == [1 1 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b, [1], x.') == [1 1 0 0 0 0 0 0 0 0].'))
+%! assert(all(filter(b.', [1], x ) == [1 1 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b.', [1], x.') == [1 1 0 0 0 0 0 0 0 0].'))
+%! assert(all(filter([1], a, x ) == [+1 -1 +1 -1 +1 -1 +1 -1 +1 -1] ))
+%! assert(all(filter([1], a, x.') == [+1 -1 +1 -1 +1 -1 +1 -1 +1 -1].'))
+%! assert(all(filter([1], a.', x ) == [+1 -1 +1 -1 +1 -1 +1 -1 +1 -1] ))
+%! assert(all(filter([1], a.', x.') == [+1 -1 +1 -1 +1 -1 +1 -1 +1 -1].'))
+%! assert(all(filter(b, a, x ) == [1 0 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b.', a, x ) == [1 0 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b, a.', x ) == [1 0 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b.', a, x ) == [1 0 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b, a, x.') == [1 0 0 0 0 0 0 0 0 0].'))
+%! assert(all(filter(b.', a, x.') == [1 0 0 0 0 0 0 0 0 0].'))
+%! assert(all(filter(b, a.', x.') == [1 0 0 0 0 0 0 0 0 0].'))
+%! assert(all(filter(b.', a, x.') == [1 0 0 0 0 0 0 0 0 0].'))
+%!
+%!test
+%! r = sqrt(1/2)*(1+i);
+%! a = a*r;
+%! b = b*r;
+%! assert(all(filter(b, [1], x ) == r*[1 1 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b, [1], r*x ) == r*r*[1 1 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b, [1], x.' ) == r*[1 1 0 0 0 0 0 0 0 0].' ))
+%! assert(all(filter(b, a, x ) == [1 0 0 0 0 0 0 0 0 0] ))
+%! assert(all(filter(b, a, r*x ) == r*[1 0 0 0 0 0 0 0 0 0] ))
+%!
+%!shared a, b, x, y, so
+%!test
+%! a = [1,1]; b=[1,1];
+%! x = zeros(1,10); x(1) = 1;
+%! [y, so] = filter(b, [1], x, [-1]);
+%! assert(all(y == [0 1 0 0 0 0 0 0 0 0]))
+%! assert(so,0)
+%!
+%!test
+%! x = zeros(10,3); x(1,1)=-1; x(1,2)=1;
+%! y0 = zeros(10,3); y0(1:2,1)=-1; y0(1:2,2)=1;
+%! y = filter(b,[1],x);
+%! assert(all(all(y==y0)))
+%!
+%!test
+%! a = [1,1]; b=[1,1];
+%! x = zeros(4,4,2); x(1,1:4,1) = +1; x(1,1:4,2) = -1;
+%! y0 = zeros(4,4,2); y0(1:2,1:4,1) = +1; y0(1:2,1:4,2) = -1;
+%! y = filter(b, [1], x);
+%! assert(all(all(all(y==y0))))
+
+%% Should put some tests of the "DIM" parameter in here.
+
+ */
+
+/*
;;; Local Variables: ***
;;; mode: C++ ***
;;; End: ***
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Tests for filter.cc,
Robert T. Short <=