octave-maintainers
[Top][All Lists]
Advanced

[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: ***

reply via email to

[Prev in Thread] Current Thread [Next in Thread]