Mercurial > octave-nkf
diff scripts/deprecated/flipdim.m @ 19160:995df67fc912
Flip arrays - ND support for fliplr and flipud, and replace flipdim with flip.
* fliplr.m, flipud.m: add support for N-dimensional arrays by making use
of flip(). Added new tests for ND arrays and defaults.
* flipdim.m: deprecate in favour of new function flip() which has exactly the
same syntax and is part of Matlab since R2014a.
* flip.m: new function copied from flipdim. Added tests for ND arrays and
defaults.
* matrix.txi: replace flipdim DOCSTRINg with flip.
* rot90.m, rotdim.m, del2.m: replace flipdim() with flip()
* NEWS: note deprecation of flip(), new function flipdim(), and ND support
for flipud() and fliplr().
author | Carnë Draug <carandraug+dev@gmail.com> |
---|---|
date | Sun, 21 Sep 2014 18:49:08 +0100 |
parents | scripts/general/flipdim.m@7bbe3658c5ef |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/deprecated/flipdim.m Sun Sep 21 18:49:08 2014 +0100 @@ -0,0 +1,61 @@ +## Copyright (C) 2004-2013 David Bateman +## Copyright (C) 2009 VZLU Prague +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {} flipdim (@var{x}) +## @deftypefnx {Function File} {} flipdim (@var{x}, @var{dim}) +## Return a copy of @var{x} flipped about the dimension @var{dim}. +## @var{dim} defaults to the first non-singleton dimension. +## +## @strong{Warning:} @code{flipdim} is scheduled for removal in version 4.6. +## Use @code{flip} which can be used as a drop-in replacement. +## +## @seealso{fliplr, flipud, rot90, rotdim} +## @end deftypefn + +## Author: David Bateman, Jaroslav Hajek + +function y = flipdim (x, dim) + + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "flipdim is deprecated and will be removed from a future version of Octave; please use flip (x, dim) instead"); + endif + + if (nargin != 1 && nargin != 2) + print_usage (); + endif + + nd = ndims (x); + sz = size (x); + if (nargin == 1) + ## Find the first non-singleton dimension. + (dim = find (sz > 1, 1)) || (dim = 1); + elseif (! (isscalar (dim) && isindex (dim))) + error ("flipdim: DIM must be a positive integer"); + endif + + idx(1:max(nd, dim)) = {':'}; + idx{dim} = size (x, dim):-1:1; + y = x(idx{:}); + +endfunction +