# HG changeset patch # User Carlo de Falco # Date 1315064660 -7200 # Node ID 92cb87addf252699c47b63d3f3842774fe509e63 # Parent a04e32272ecbd0aed8b46a89ff4e21e4d9e8e5dd codesprint: Add tests to polygcd * polygcd.m : Add tests. diff -r a04e32272ecb -r 92cb87addf25 scripts/polynomial/polygcd.m --- a/scripts/polynomial/polygcd.m Sat Sep 03 08:32:58 2011 -0700 +++ b/scripts/polynomial/polygcd.m Sat Sep 03 17:44:20 2011 +0200 @@ -81,3 +81,24 @@ endif endfunction + + +%!test +%! poly1 = [1 6 11 6]; % (x+1)(x+2)(x+3) +%! poly2 = [1 3 2]; % (x+1)(x+2) +%! poly3 = polygcd (poly1, poly2); +%! assert (poly3, poly2, sqrt (eps)) + +%!test +%! assert (polygcd (poly(1:8), poly(3:12)), poly(3:8), sqrt (eps)) + +%!test +%! assert (deconv (poly(1:8), polygcd (poly(1:8), poly(3:12))), poly(1:2), sqrt (eps)) + +%!test +%! for ii=1:10 +%! p = (unique (randn (10, 1)) * 10).'; +%! p1 = p(3:end); +%! p2 = p(1:end-2); +%! assert (polygcd (poly (-p1), poly (-p2)), poly (- intersect (p1, p2)), sqrt (eps)) +%! endfor