Mercurial > hg > octave-lyh
diff scripts/polynomial/polygcd.m @ 13045:92cb87addf25
codesprint: Add tests to polygcd
* polygcd.m : Add tests.
author | Carlo de Falco <kingcrimson@tiscali.it> |
---|---|
date | Sat, 03 Sep 2011 17:44:20 +0200 |
parents | fd0a3ac60b0e |
children | e81ddf9cacd5 |
line wrap: on
line diff
--- a/scripts/polynomial/polygcd.m +++ b/scripts/polynomial/polygcd.m @@ -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