annotate scripts/legacy/__vectorize__.m @ 31548:c8ad083a5802 stable

maint: Clean up m-files before Octave 8.1 release. * external.txi, oop.txi, Table.h, documentation.cc, gui-preferences-ed.h, lo-specfun.cc, range.tst : Eliminate triple newlines. * Map.m, MemoizedFunction.m, delaunayn.m, inputParser.m, __publish_latex_output__.m, publish.m, unpack.m, fminbnd.m, __add_default_menu__.m, gammainc.m, gallery.m, hadamard.m, weboptions.m: Add newline after keyword "function" or before keyword "endfunction" for readability. * getaudiodata.m, pkg.m : Add semicolon to end of line for error() statement. * movegui.m: Combine mutliple calls to set() into one for performance. * __unimplemented__.m (missing_functions): Remove missing functions that have been implemented. * __vectorize__.m, check_default_input.m, betaincinv.m, gammaincinv.m: Remove semicolon at end of line with "function" declaration. * weboptions.m: Remove semicolon at end of line with "if" keyword. * integrate_adaptive.m, factor.m: Use keyword "endif" rather than bare "end".
author Rik <rik@octave.org>
date Fri, 25 Nov 2022 21:23:54 -0800
parents b7edac56a810
children 597f3ee61a48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28456
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 ########################################################################
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 ##
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
3 ## Copyright (C) 2020-2022 The Octave Project Developers
28456
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 ##
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 ## See the file COPYRIGHT.md in the top-level directory of this
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 ## distribution or <https://octave.org/copyright/>.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 ##
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 ## This file is part of Octave.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 ##
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 ## (at your option) any later version.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 ##
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 ## GNU General Public License for more details.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 ##
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 ## <https://www.gnu.org/licenses/>.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 ##
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 ########################################################################
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26 ## -*- texinfo -*-
30875
5d3faba0342e doc: Ensure documentation lists output argument when it exists for all m-files.
Rik <rik@octave.org>
parents: 30564
diff changeset
27 ## @deftypefn {} {@var{new_expr} =} __vectorize__ (@var{expr})
28456
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28 ## Undocumented internal function.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 ## @end deftypefn
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30
30911
b7edac56a810 Add functions to @inline class for Matlab compatibility (Bug #62260).
Rik <rik@octave.org>
parents: 30875
diff changeset
31 ## The following function was translated directly from the original C++
b7edac56a810 Add functions to @inline class for Matlab compatibility (Bug #62260).
Rik <rik@octave.org>
parents: 30875
diff changeset
32 ## version. Yes, it will be slow, but its use is strongly discouraged
b7edac56a810 Add functions to @inline class for Matlab compatibility (Bug #62260).
Rik <rik@octave.org>
parents: 30875
diff changeset
33 ## anyway, and most expressions will probably be short. It may also be
b7edac56a810 Add functions to @inline class for Matlab compatibility (Bug #62260).
Rik <rik@octave.org>
parents: 30875
diff changeset
34 ## buggy. Well, don't use this function!
b7edac56a810 Add functions to @inline class for Matlab compatibility (Bug #62260).
Rik <rik@octave.org>
parents: 30875
diff changeset
35
31548
c8ad083a5802 maint: Clean up m-files before Octave 8.1 release.
Rik <rik@octave.org>
parents: 30911
diff changeset
36 function new_expr = __vectorize__ (expr)
28456
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 new_expr = "";
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 len = length (expr);
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 i = 1;
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 while (i <= len)
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44 c = expr(i);
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 if (c == "*" || c == "/" || c == "\\" || c == "^")
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47 if (i > 1 && expr(i-1) != ".")
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48 new_expr(end+1) = ".";
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 endif
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
50
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51 ## Special case for ** operator.
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 if (c == '*' && i < (len - 1) && expr(i+1) == '*')
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53 new_expr(end+1) = "*";
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 i++;
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55 endif
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 endif
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58 new_expr(end+1) = c;
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59 i++;
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
61 endwhile
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62
53d8e7ca99c5 revive legacy vectorize function for strings and function handles
John W. Eaton <jwe@octave.org>
parents:
diff changeset
63 endfunction