# HG changeset patch # User Rik # Date 1317013425 25200 # Node ID e8c52b442a99f40fd4c37318a2d64f666ec391ec # Parent 9559417aa965dbc12696e0881eaac0d842fc6c36 Allow logical inputs to ismember() (Bug #33531). * ismember.m: Validate inputs and convert logical inputs to numeric. * validargs.m: Correct missing argument to error() diff --git a/scripts/set/ismember.m b/scripts/set/ismember.m --- a/scripts/set/ismember.m +++ b/scripts/set/ismember.m @@ -77,6 +77,14 @@ print_usage (); endif + ## lookup() does not handle logical values + if (islogical (A)) + A = uint8 (A); + endif + if (islogical (s)) + s = uint8 (s); + endif + [A, s] = validargs ("ismember", A, s, varargin{:}); if (nargin == 2) diff --git a/scripts/set/private/validargs.m b/scripts/set/private/validargs.m --- a/scripts/set/private/validargs.m +++ b/scripts/set/private/validargs.m @@ -37,12 +37,12 @@ elseif (nargin == 4) if (strcmpi (byrows_arg, "rows")) if (iscell (x) || iscell (y)) - error ("%s: cells not supported with ""rows"""); + error ('%s: cells not supported with "rows"', caller); elseif (! (ismatrix (x) && ismatrix (y))) error ("%s: input arguments must be arrays or cell arrays of strings", caller); else if (ndims (x) > 2 || ndims (y) > 2) - error ("%s: need 2-dimensional matrices for ""rows""", caller); + error ('%s: need 2-dimensional matrices for "rows"', caller); elseif (columns (x) != columns (y) && ! (isempty (x) || isempty (y))) error ("%s: number of columns must match", caller); endif