diff scripts/deprecated/fmod.m @ 19310:9c5a17d5fc19

Deprecate fmod function. * NEWS: Announce deprecation. * scripts/deprecated/fmod.m: New m-file to replace C++ function and issue deprecated warning. * scripts/deprecated/module.mk: Add fmod.m to build system. * data.cc: Remove DEFALIAS of fmod to rem. Replace fmod with rem in %!tests. * datetick.m: Replace fmod usage with rem.
author Rik <rik@octave.org>
date Sat, 20 Sep 2014 20:31:16 -0700
parents
children db92e7e28e1f
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/scripts/deprecated/fmod.m
@@ -0,0 +1,51 @@
+## Copyright (C) 2014 John W. Eaton
+##
+## 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 {Mapping Function} {} fmod (@var{x}, @var{y})
+##
+## @code{fmod} is deprecated and will be removed in Octave version 4.6.
+## Please use @code{rem} in all new code.
+##
+## Return the remainder of the division @code{@var{x} / @var{y}}, computed
+## using the expression
+## 
+## @example
+## x - y .* fix (x ./ y)
+## @end example
+## 
+## An error message is printed if the dimensions of the arguments do not
+## agree, or if either of the arguments is complex.
+## @seealso{rem, mod}
+## @end deftypefn
+
+## Deprecated in version 4.2
+
+function retval = fmod (varargin)
+
+  persistent warned = false;
+  if (! warned)
+    warned = true;
+    warning ("Octave:deprecated-function",
+             "fmod is obsolete and will be removed from a future version of Octave, please use rem instead");
+  endif
+
+  retval = rem (varargin{:});
+
+endfunction
+