Mercurial > octave
annotate etc/NEWS.9.md @ 32047:e3de59065cf1
inputParser.m: Re-architect internal data structures for 60% speed improvement.
Key idea is to replace Parameter and Switch structs with name field containing
a nested struct (def, val fields) with a struct array that has fields "name",
"def", and "val". This makes it possible to eliminate for loops.
* NEWS.9.md: Announce performance improvement.
* inputParser.m: Declare "Parameter" and "Switch" properties as struct arrays.
Add new private property "last_idx" which caches the last Parameter or Switch
lookup.
* inputParser.m (addRequired): Adjust input validation to use numel() now
rather than numfields().
* inputParser.m (addOptional): Adjust input validation to use numel() now
rather than numfields().
* inputParser.m (addParameter): Change code to add new Parameter to a struct
array.
* inputParser.m (addSwitch): Change code to add new Switch to a struct
array.
* inputParser.m (parse): Adjust initialization of internal variables
ParameterNames and SwitchNames to match new data structure.
Use last_idx to simplify call to validate_arg() for Parameters.
* inputParser.m (validate_arg): Move creation of error message
to code path when error has been found---No need to do it for every
function call. Don't capture "exception" variable in try/catch as
it is no longer used.
* inputParser.m (is_argname): Cache "last_idx" if match was found.
* inputParser.m (add_missing): Replace call to setdiff() with in-place
code which can take advantage of implicit knowledge to eliminate calls
to unique and input validation. Replace for loop with cell2struct/struct2cell
combination.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 21 Apr 2023 11:01:40 -0700 |
parents | 29671873411a |
children | ada96a467a28 |
rev | line source |
---|---|
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
1 Summary of important user-visible changes for version 9 (yyyy-mm-dd): |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
2 --------------------------------------------------------------------- |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
3 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
4 ### General improvements |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
5 |
31484
601b08ce0c00
oruntests.m: Change to directory containing tests (bug #62780).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31472
diff
changeset
|
6 - `oruntests`: The current directory now changes to the directory |
601b08ce0c00
oruntests.m: Change to directory containing tests (bug #62780).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31472
diff
changeset
|
7 containing the files with the tests for the duration of the test. This |
601b08ce0c00
oruntests.m: Change to directory containing tests (bug #62780).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31472
diff
changeset
|
8 aligns the behavior of this function with Octave's test suite. This also |
601b08ce0c00
oruntests.m: Change to directory containing tests (bug #62780).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31472
diff
changeset
|
9 means that the file encoding specified in the `.oct-config` file for the |
601b08ce0c00
oruntests.m: Change to directory containing tests (bug #62780).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31472
diff
changeset
|
10 respective directory is taken into account for the tests. |
601b08ce0c00
oruntests.m: Change to directory containing tests (bug #62780).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31472
diff
changeset
|
11 |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
12 - `dec2base`, `dec2bin`, and `dec2hex` have all been overhauled. All three |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
13 functions now accommodate negative inputs and fractional inputs, and repeated |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
14 code between the functions has been reduced or eliminated. Previously only |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
15 `dec2bin` and `dec2hex` accepted negative inputs but `dec2base` did not, and |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
16 none of the three accepted fractional inputs. But now, |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
17 `dec2base (100*pi, 16, 4, 6)` for exampele returns a base-16 string with four |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
18 places for the integer part and six places for the fractional part. Omitting |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
19 the number of decimal places (the fourth input) retains old behavior for |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
20 backward compatibility, except that non-integer inputs will no longer error. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31819
diff
changeset
|
21 |
32038
29671873411a
__quiver__.m: Honor scaling factor input for single quiver arrow (bug #39552)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32035
diff
changeset
|
22 - `quiver` now honors the scaling factor input when there is only a single |
29671873411a
__quiver__.m: Honor scaling factor input for single quiver arrow (bug #39552)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32035
diff
changeset
|
23 arrow, whereas the factor was previously ignored in that case. |
29671873411a
__quiver__.m: Honor scaling factor input for single quiver arrow (bug #39552)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32035
diff
changeset
|
24 |
32047
e3de59065cf1
inputParser.m: Re-architect internal data structures for 60% speed improvement.
Rik <rik@octave.org>
parents:
32038
diff
changeset
|
25 - The `inputParser` function has been re-architected for a 60% performance |
e3de59065cf1
inputParser.m: Re-architect internal data structures for 60% speed improvement.
Rik <rik@octave.org>
parents:
32038
diff
changeset
|
26 improvement. |
e3de59065cf1
inputParser.m: Re-architect internal data structures for 60% speed improvement.
Rik <rik@octave.org>
parents:
32038
diff
changeset
|
27 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
28 ### Graphical User Interface |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
29 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
30 ### Graphics backend |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
31 |
31975
72d005398818
hold.m: Print current hold state to Command Window when toggling state (bug #63923)
John W. Eaton <jwe@octave.org>
parents:
31918
diff
changeset
|
32 * The `set` function now accepts any combination of name/value pairs, |
31819
4db921b57ace
Extend set() to process any combination of acceptable inputs.
Rik <rik@octave.org>
parents:
31818
diff
changeset
|
33 cell array of names / cell array of values, or property structures. |
4db921b57ace
Extend set() to process any combination of acceptable inputs.
Rik <rik@octave.org>
parents:
31818
diff
changeset
|
34 This change is Matlab-compatible. |
4db921b57ace
Extend set() to process any combination of acceptable inputs.
Rik <rik@octave.org>
parents:
31818
diff
changeset
|
35 |
31975
72d005398818
hold.m: Print current hold state to Command Window when toggling state (bug #63923)
John W. Eaton <jwe@octave.org>
parents:
31918
diff
changeset
|
36 * When the `hold` function is used without arguments to toggle the current |
72d005398818
hold.m: Print current hold state to Command Window when toggling state (bug #63923)
John W. Eaton <jwe@octave.org>
parents:
31918
diff
changeset
|
37 state the resulting value is now displayed in the Command Window for |
72d005398818
hold.m: Print current hold state to Command Window when toggling state (bug #63923)
John W. Eaton <jwe@octave.org>
parents:
31918
diff
changeset
|
38 informational purposes. |
72d005398818
hold.m: Print current hold state to Command Window when toggling state (bug #63923)
John W. Eaton <jwe@octave.org>
parents:
31918
diff
changeset
|
39 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
40 ### Matlab compatibility |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
41 |
32035
80fef9315743
inputParser.m: Implement "PartialMatching" property (bug #64050)
Rik <rik@octave.org>
parents:
32011
diff
changeset
|
42 - The `inputParser` function now implements the `PartialMatching` property |
80fef9315743
inputParser.m: Implement "PartialMatching" property (bug #64050)
Rik <rik@octave.org>
parents:
32011
diff
changeset
|
43 for `Parameter` and `Switch` names. For Matlab compatibility, |
80fef9315743
inputParser.m: Implement "PartialMatching" property (bug #64050)
Rik <rik@octave.org>
parents:
32011
diff
changeset
|
44 `PartialMatching` is now set to true by default which may change the behavior |
80fef9315743
inputParser.m: Implement "PartialMatching" property (bug #64050)
Rik <rik@octave.org>
parents:
32011
diff
changeset
|
45 of existing code. |
80fef9315743
inputParser.m: Implement "PartialMatching" property (bug #64050)
Rik <rik@octave.org>
parents:
32011
diff
changeset
|
46 |
31868
c6eeb8b44c28
Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31848
diff
changeset
|
47 - Overhauled `mean`, `median`, `var`, and `std` functions have been imported |
c6eeb8b44c28
Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31848
diff
changeset
|
48 from statistics package v1.5.4 to compatibly implement 'nanflag' (bug #50571), |
c6eeb8b44c28
Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31848
diff
changeset
|
49 'all' (bug #58116), and 'vecdim' (bug #58089) options, preserve output class, |
c6eeb8b44c28
Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31848
diff
changeset
|
50 and match expected output behavior for empty (bug #50583) and sparse inputs |
c6eeb8b44c28
Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31848
diff
changeset
|
51 (bug #63291). Both `median` and `mean` can handle large int values without |
31872
cfeda68b01ad
mean: Process single as double to avoid precision limits (bug #63848).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31868
diff
changeset
|
52 overflow or precision concerns (bug #54567), and `mean` avoids errors due to |
cfeda68b01ad
mean: Process single as double to avoid precision limits (bug #63848).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31868
diff
changeset
|
53 limits of single precision by processing as doubles (bug #63848). `median` |
cfeda68b01ad
mean: Process single as double to avoid precision limits (bug #63848).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31868
diff
changeset
|
54 has also adopted the 'outtype' option from `mean`. |
31868
c6eeb8b44c28
Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31848
diff
changeset
|
55 |
31993
e4bd4349af42
mad.m: Improve compatibility using new mean/median functions (patch #10331)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31976
diff
changeset
|
56 - `mad` function now produces Matlab compatible output using improved `mean` |
e4bd4349af42
mad.m: Improve compatibility using new mean/median functions (patch #10331)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31976
diff
changeset
|
57 and `median` functions. 'vecdim' and 'all' options are now supported. `mad` |
e4bd4349af42
mad.m: Improve compatibility using new mean/median functions (patch #10331)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31976
diff
changeset
|
58 ignores all NaN values (using 'omitnan' mean/median option) and produces |
e4bd4349af42
mad.m: Improve compatibility using new mean/median functions (patch #10331)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31976
diff
changeset
|
59 expected output behavior for empty inputs. |
e4bd4349af42
mad.m: Improve compatibility using new mean/median functions (patch #10331)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31976
diff
changeset
|
60 |
31918
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
61 - `mode` now produces Matlab compatible output for empty inputs (bug #50583). |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
62 |
32011
ce36dddf5427
normalize.m: Enable compatible NaN handling (bug #50571)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31993
diff
changeset
|
63 - `normalize` now produces Matlab compatible output for inputs containing NaN |
ce36dddf5427
normalize.m: Enable compatible NaN handling (bug #50571)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31993
diff
changeset
|
64 values (bug #50571). |
ce36dddf5427
normalize.m: Enable compatible NaN handling (bug #50571)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31993
diff
changeset
|
65 |
31918
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
66 - `cov` now processes the input form cov(x,y) with two separate data arrays |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
67 x and y, as cov(x(:),y(:)) to maintain Matlab compatibility. It also accepts |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
68 a NANFLAG option to allow ignoring NaN entries in input data (bug #50571) |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
69 and produces Matlab compatible outputs for empty inputs (bug #50583). `corr` |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
70 and `corrcoef` internal code has been adapted to the new `cov` behavior with |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
71 no change to user interface. Packages using the octave core's `cov` that rely |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
72 on the previous calling form may need to make similar adaptations. Calls for |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
73 cov(x) with a vector x expecting a scalar return can get the previous results |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
74 from `cov(x)(2)`, and calls to cov(x,y) with x and y matrices expecting |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
75 columnwise covariance calculation can obtain the previous results using |
e67b7b85670b
cov.m: Overhaul function for matlab compatibility (bug #50583).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31917
diff
changeset
|
76 `cov([x,y])(1:nx, nx+1:end)`, where nx = columns(x). |
31887
96ed8d1d0c59
mode.m: Emtpy input produces Matlab compatible NaN output (bug #48690)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31873
diff
changeset
|
77 |
31976
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
78 - `qz` now handles input and output arguments in a Matlab compatible |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
79 way. It always computes the complex QZ decomposition if there are only |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
80 two input arguments, and it accepts an optional third input argument |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
81 'real' or 'complex' to select the type of decomposition. The output |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
82 arguments are always in the same order independently of the input |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
83 arguments, and the generalized eigenvalues are no longer returned (one |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
84 can use the `ordeig` function for that purpose). The optional reordering |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
85 of the generalized eigenvalues has been removed (one can use the `ordqz` |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
86 function for that purpose). |
e6b24d0d485c
qz: Handle input and output arguments in a Matlab-compatible way.
Sébastien Villemot <sebastien@debian.org>
parents:
31975
diff
changeset
|
87 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
88 ### Alphabetical list of new functions added in Octave 9 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
89 |
31917 | 90 * `isuniform` |
31547
212cc32100f5
Add new function 'tensorprod' (patch #10288)
Kasper H. Filtenborg <kasper.filtenborg@gmail.com>
parents:
31484
diff
changeset
|
91 * `tensorprod` |
212cc32100f5
Add new function 'tensorprod' (patch #10288)
Kasper H. Filtenborg <kasper.filtenborg@gmail.com>
parents:
31484
diff
changeset
|
92 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
93 ### Deprecated functions, properties, and operators |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
94 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
95 The following functions and properties have been deprecated in Octave 9 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
96 and will be removed from Octave 11 (or whatever version is the second |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
97 major release after 9): |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
98 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
99 - Functions |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
100 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
101 Function | Replacement |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
102 -----------------------|------------------ |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
103 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
104 - Properties |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
105 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
106 The following property names are discouraged, but there is no fixed |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
107 date for their removal. |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
108 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
109 Object | Property | Replacement |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
110 -----------------|-------------|------------ |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
111 |
31811
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
112 - Core |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
113 |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
114 * The `idx_vector::bool()` function is obsolete and always returns true. |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
115 Any uses can simply be removed from existing code with no loss of function. |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
116 |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
117 * The `all_ok(const Array<octave::idx_vector>&)` function in `Array-util.h` |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
118 is obsolete and always returns true. Any uses can simply be removed from |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
119 existing code with no loss of function. |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
120 |
31818
758de955caca
Deprecate octave_base_value::count member variable.
Rik <rik@octave.org>
parents:
31811
diff
changeset
|
121 * The member variable `octave_base_value::count` is deprecated and will be removed from Octave 11. Replace all instances with the new name `m_count`. |
758de955caca
Deprecate octave_base_value::count member variable.
Rik <rik@octave.org>
parents:
31811
diff
changeset
|
122 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
123 The following features were deprecated in Octave 7 and have been removed |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
124 from Octave 9. |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
125 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
126 - Functions |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
127 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
128 Function | Replacement |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
129 ---------------------------|------------------ |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
130 disable_diagonal_matrix | optimize_diagonal_matrix |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
131 disable_permutation_matrix | optimize_permutation_matrix |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
132 disable_range | optimize_range |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
133 |
31464
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
134 - Operators |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
135 |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
136 Operator | Replacement |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
137 ---------|------------ |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
138 .+ | + |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
139 .+= | += |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
140 .- | - |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
141 .-= | -= |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
142 ** | ^ |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
143 **= | ^= |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
144 .** | .^ |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
145 .**= | .^= |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
146 |
31472
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
147 - Interpreter |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
148 |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
149 * The use of `'...'` for line continuations *inside* double-quoted |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
150 strings has been removed. Use `'\'` for line continuations inside strings |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
151 instead. |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
152 |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
153 * The use of `'\'` as a line continuation *outside* of double-quoted |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
154 strings has been removed. Use `'...'` for line continuations instead. |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
155 |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
156 * Support for trailing whitespace after a `'\'` line continuation has been |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
157 removed. Delete unnecessary trailing whitespace. |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
158 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
159 - For plot functions, the use of numbers to select line colors in |
31917 | 160 shorthand formats was an undocumented feature that was removed in Octave 9. |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
161 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
162 - The environment variable used by `mkoctfile` for linker flags is now |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
163 `LDFLAGS` rather than `LFLAGS`. `LFLAGS` was deprecated in Octave 6 |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
164 and has been removed. |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
165 |
31873
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
166 Summary of bugs fixed for version 9.1.0 (yyyy-mm-dd): |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
167 ---------------------------------------------------- |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
168 |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
169 - Bugfixes to `whos -file`, `urlread`, `mat2cell`, `set`. |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
170 |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
171 - Memory usage reduced for `movfun` by eliminating temporary copies. |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
172 |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
173 - Memory usage reduced when saving to file, preventing OOM and data loss. |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
174 |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
175 - Several race conditions removed in signal handler. |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
176 |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
177 - Performance improvements: avoid unnecessary string construction, use |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
178 static casts instead of dynamic casts where possible. |
5eb1f1a77614
NEWS.9.md: list bugs fixed so far with Octave 9
Arun Giridhar <arungiridhar@gmail.com>
parents:
31872
diff
changeset
|
179 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
180 ### Old release news |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
181 |
31442
2bc8a40b5b75
NEWS.9.md: Fix typo (7 --> 8)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31441
diff
changeset
|
182 - [Octave 8.x](etc/NEWS.8) |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
183 - [Octave 7.x](etc/NEWS.7) |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
184 - [Octave 6.x](etc/NEWS.6) |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
185 - [Octave 5.x](etc/NEWS.5) |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
186 - [Octave 4.x](etc/NEWS.4) |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
187 - [Octave 3.x](etc/NEWS.3) |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
188 - [Octave 2.x](etc/NEWS.2) |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
189 - [Octave 1.x](etc/NEWS.1) |