# HG changeset patch # User John W. Eaton # Date 1438344099 -7200 # Fri Jul 31 14:01:39 2015 +0200 # Node ID 4c2d4c299f363df9a302ff376a693ccc0f6c67c3 # Parent 110c7a54586b5c1d3104d8020ef6f4789d75d88f * union.m: Remove redundant calls to isvector. New tests. diff --git a/scripts/set/union.m b/scripts/set/union.m --- a/scripts/set/union.m +++ b/scripts/set/union.m @@ -51,7 +51,7 @@ function [y, ia, ib] = union (a, b, vara [a, b] = validsetargs ("union", a, b, varargin{:}); by_rows = nargin == 3; - isrowvec = isvector (a) && isvector (b) && isrow (a) && isrow (b); + isrowvec = (isrow (a) && isrow (b)); if (by_rows) y = [a; b]; @@ -94,6 +94,21 @@ endfunction %! assert (y, [1; 2; 3; 4; 5]); %! assert (y, sort ([a(ia)'; b(ib)'])); +%!assert (union ([],[1,2]), [1;2]); +%!assert (union ([],[1;2]), [1;2]); +%!assert (union ([1,2],[]), [1;2]); +%!assert (union ([1;2],[]), [1;2]); + +%!assert (union (zeros(1,0),[1,2]), [1,2]); +%!assert (union (zeros(1,0),[1;2]), [1;2]); +%!assert (union ([1,2],zeros(1,0)), [1,2]); +%!assert (union ([1;2],zeros(1,0)), [1;2]); + +%!assert (union (zeros(0,1),[1,2]), [1;2]); +%!assert (union (zeros(0,1),[1;2]), [1;2]); +%!assert (union ([1,2],zeros(0,1)), [1;2]); +%!assert (union ([1;2],zeros(0,1)), [1;2]); + ## Test common input validation for set routines contained in validsetargs %!error union ({"a"}, 1) %!error union (@sin, 1) @@ -102,4 +117,3 @@ endfunction %!error union (@sin, 1, "rows") %!error union (rand(2,2,2), 1, "rows") %!error union ([1 2], 1, "rows") -