Mercurial > hg > octave-lyh
diff scripts/general/sub2ind.m @ 6050:435294ca4ee6
[project @ 2006-10-13 17:42:21 by jwe]
author | jwe |
---|---|
date | Fri, 13 Oct 2006 17:42:21 +0000 |
parents | 34f96dd5441b |
children | 65919b012b35 |
line wrap: on
line diff
--- a/scripts/general/sub2ind.m +++ b/scripts/general/sub2ind.m @@ -30,7 +30,7 @@ function ind = sub2ind (dims, varargin) if (nargin > 1) - if (isvector (dims) && round (dims) == dims) + if (isvector (dims) && all (round (dims) == dims)) nd = length (dims); vlen = length (varargin); dims(vlen) = prod (dims(vlen:nd)); @@ -38,16 +38,16 @@ scale = cumprod (dims(:)); for i = 1:vlen arg = varargin{i}; - if (isnumeric (arg) && round (arg) == arg) + if (isnumeric (arg) && all (round (arg) == arg)) if (i == 1) - if (arg > 0 & arg <= dims(i)) + if (all (arg > 0 & arg <= dims(i))) ind = first_arg = arg; else error ("sub2ind: index out of range"); endif else if (prod (size (first_arg)) == prod (size (arg))) - if ((i > nd && arg == 1) || (arg > 0 & arg <= dims(i))) + if ((i > nd && arg == 1) || all (arg > 0 & arg <= dims(i))) ind(:) += scale(i-1) * (arg(:) - 1); else error ("sub2ind: index out of range");