# HG changeset patch # User Jaroslav Hajek # Date 1279188914 -7200 # Node ID 01f1643dfbb13a937f56735b6e8f28a4e6f4afd7 # Parent 6f640ed5bb931d345d93a811c981bca9c649cec6 fix flipdim with trailing singleton dims diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2010-07-15 Jaroslav Hajek + + * general/flipdim.m: Suuport flipping about trailing singleton + dimension. + 2010-07-14 Ben Abbott * plot/__gnuplot_print__.m: Fix broken options "-orientation", diff --git a/scripts/general/accumdim.m b/scripts/general/accumdim.m --- a/scripts/general/accumdim.m +++ b/scripts/general/accumdim.m @@ -78,7 +78,7 @@ sz = size (val); if (nargin < 3) - [~, dim] = max (sz > 1); # first non-singleton dim + [~, dim] = max (sz != 1); # first non-singleton dim elseif (! isindex (dim)) error ("accumdim: DIM must be a valid dimension"); elseif (dim > length (sz)) diff --git a/scripts/general/flipdim.m b/scripts/general/flipdim.m --- a/scripts/general/flipdim.m +++ b/scripts/general/flipdim.m @@ -45,17 +45,12 @@ nd = ndims (x); if (nargin == 1) ## Find the first non-singleton dimension. - dim = find (size (x) > 1, 1); - if (isempty (dim)) - dim = 1; - endif - else - if (! (isscalar (dim) && isindex (dim, nd))) - error ("flipdim: DIM must be an integer and a valid dimension"); - endif + [~, dim] = min (size (x) != 1); + elseif (! (isscalar (dim) && isindex (dim))) + error ("flipdim: DIM must be a positive integer"); endif - idx(1:nd) = {':'}; + idx(1:max(nd, dim)) = {':'}; idx{dim} = size (x, dim):-1:1; y = x(idx{:});