Mercurial > octave
changeset 32484:f8953d6fee2d
maint: Remove features deprecated in Octave 8.
* ov-base.h: Remove extern declaration for Vsparse_auto_mutate.
* ov-base.cc (bool Vsparse_auto_mutate): Remove static variable.
* scripts/deprecated/shift.m: Deleted.
* scripts/deprecated/sparse_auto_mutate.m: Deleted.
* scripts/deprecated/module.mk: Remove shift.m and sparse_auto_mutate.m from
build system.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 22 Nov 2023 16:54:04 -0800 |
parents | 48023451eea9 |
children | 22c90d779a24 |
files | libinterp/octave-value/ov-base.cc libinterp/octave-value/ov-base.h scripts/deprecated/module.mk scripts/deprecated/shift.m scripts/deprecated/sparse_auto_mutate.m |
diffstat | 5 files changed, 1 insertions(+), 199 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.cc Wed Nov 22 16:23:54 2023 -0800 +++ b/libinterp/octave-value/ov-base.cc Wed Nov 22 16:54:04 2023 -0800 @@ -99,9 +99,6 @@ DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA (octave_base_value, "<unknown type>", "unknown"); -// DEPRECATED in Octave 8. -bool Vsparse_auto_mutate = false; - #if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC) // Disable this warning for the use of the "count" member variable in // the default constructor. Push the current state so we can restore
--- a/libinterp/octave-value/ov-base.h Wed Nov 22 16:23:54 2023 -0800 +++ b/libinterp/octave-value/ov-base.h Wed Nov 22 16:54:04 2023 -0800 @@ -1010,9 +1010,6 @@ octave::auto_shlib m_containing_dynamic_library; }; -OCTAVE_DEPRECATED (8, "Vsparse_auto_mutate is obsolete and is now always false") -extern OCTINTERP_API bool Vsparse_auto_mutate; - // Utility function to convert C++ arguments used in subsref/subsasgn into an // octave_value_list object that can be used to call a function/method in the // interpreter.
--- a/scripts/deprecated/module.mk Wed Nov 22 16:23:54 2023 -0800 +++ b/scripts/deprecated/module.mk Wed Nov 22 16:54:04 2023 -0800 @@ -1,9 +1,7 @@ FCN_FILE_DIRS += %reldir% %canon_reldir%_FCN_FILES = \ - %reldir%/.oct-config \ - %reldir%/shift.m \ - %reldir%/sparse_auto_mutate.m + %reldir%/.oct-config %canon_reldir%dir = $(fcnfiledir)/deprecated
--- a/scripts/deprecated/shift.m Wed Nov 22 16:23:54 2023 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -######################################################################## -## -## Copyright (C) 1995-2023 The Octave Project Developers -## -## See the file COPYRIGHT.md in the top-level directory of this -## distribution or <https://octave.org/copyright/>. -## -## 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 -## <https://www.gnu.org/licenses/>. -## -######################################################################## - -## -*- texinfo -*- -## @deftypefn {} {@var{y} =} shift (@var{x}, @var{b}) -## @deftypefnx {} {@var{y} =} shift (@var{x}, @var{b}, @var{dim}) -## -## @code{shift} is deprecated and will be removed in Octave version 10. Use -## @code{circshift} instead. -## -## If @var{x} is a vector, perform a circular shift of length @var{b} of -## the elements of @var{x}. -## -## If @var{x} is a matrix, do the same for each column of @var{x}. -## -## If the optional @var{dim} argument is given, operate along this dimension. -## @seealso{circshift} -## @end deftypefn - -## FIXME: DEPRECATED: Remove in version 10. - -function y = shift (x, b, dim) - - persistent warned = false; - if (! warned) - warned = true; - warning ("Octave:deprecated-function", - "shift is deprecated and will be removed from a future version of Octave, please use circshift instead\n"); - endif - - if (nargin < 2) - print_usage (); - endif - - if (numel (x) < 1) - error ("shift: X must not be empty"); - elseif (! (isscalar (b) && b == fix (b))) - error ("shift: B must be an integer"); - endif - - nd = ndims (x); - sz = size (x); - - if (nargin == 3) - if (!(isscalar (dim) && dim == fix (dim)) - || !(1 <= dim && dim <= nd)) - error ("shift: DIM must be an integer and a valid dimension"); - endif - else - ## Find the first non-singleton dimension. - (dim = find (sz > 1, 1)) || (dim = 1); - endif - - d = sz(dim); - - idx = repmat ({':'}, nd, 1); - if (b > 0) - b = rem (b, d); - idx{dim} = [d-b+1:d, 1:d-b]; - elseif (b < 0) - b = rem (abs (b), d); - idx{dim} = [b+1:d, 1:b]; - endif - - y = x(idx{:}); - -endfunction - - -%!test -%! a = [1, 2, 3]; -%! b = [4, 5, 6]; -%! c = [7, 8, 9]; -%! -%! r = [a, b, c]; -%! m = [a; b; c]; -%! -%! assert (shift (r, 0), r); -%! assert (shift (r, 3), [c, a, b]); -%! assert (shift (r, -6), [c, a, b]); -%! assert (shift (r, -3), [b, c, a]); -%! assert (shift (m, 1), [c; a; b]); -%! assert (shift (m, -2), [c; a; b]); - -## Test input validation -%!error <Invalid call> shift () -%!error <Invalid call> shift (1) -%!error <X must not be empty> shift ([], 1) -%!error <B must be an integer> shift (ones (2), ones (2)) -%!error <B must be an integer> shift (ones (2), 1.5) -%!error <DIM must be an integer> shift (1, 1, 1.5) -%!error <DIM must be .* a valid dimension> shift (1, 1, 0) -%!error <DIM must be .* a valid dimension> shift (1, 1, 3)
--- a/scripts/deprecated/sparse_auto_mutate.m Wed Nov 22 16:23:54 2023 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -######################################################################## -## -## Copyright (C) 2022-2023 The Octave Project Developers -## -## See the file COPYRIGHT.md in the top-level directory of this -## distribution or <https://octave.org/copyright/>. -## -## 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 -## <https://www.gnu.org/licenses/>. -## -######################################################################## - -## -*- texinfo -*- -## @deftypefn {} {@var{val} =} sparse_auto_mutate () -## @deftypefnx {} {@var{old_val} =} sparse_auto_mutate (@var{new_val}) -## @deftypefnx {} {@var{old_val} =} sparse_auto_mutate (@var{new_val}, "local") -## -## @code{sparse_auto_mutate} is deprecated and will be removed in Octave -## version 10. -## -## The @code{sparse_auto_mutate} function no longer has any effect on Octave's -## behavior. Previously, after calling @code{sparse_auto_mutate (true)}, -## Octave would automatically convert sparse matrices to full when a sparse -## matrix required more memory than simply using full matrix storage. This -## setting was false by default for compatibility with @sc{matlab}. Now you -## must manually convert to full storage when desired (use @code{full}). -## @seealso{full} -## @end deftypefn - -## FIXME: DEPRECATED: Remove in version 10. - -function retval = sparse_auto_mutate (val, opt) - - persistent warned = false; - if (! warned) - warned = true; - warning ("Octave:deprecated-function", - "sparse_auto_mutate is obsolete, has no effect, and will be removed from a future version of Octave\n"); - endif - - if (nargin == 0 || nargout > 0) - retval = false; # Always false now. - return; - endif - - if (nargin == 2) - if (! (ischar (opt) && strcmp (opt, "local"))) - error ('sparse_auto_mutate: second argument must be "local"'); - endif - nargin = 1; - endif - - ## Don't bother warning that "local" is invalid outside of a function. - if (nargin > 1) - print_usage (); - endif - - if (! islogical (val)) - error ("sparse_auto_mutate: argument must be a logical value"); - endif - -endfunction