annotate etc/NEWS.9.md @ 31872:cfeda68b01ad

mean: Process single as double to avoid precision limits (bug #63848). * mean.m: Change sum calls not associated with large int handling codepaths to process as "double" to avoid single precision limits from producing erroneous output. Add BISTs to test calls to sum that could lose precision. Add xfail BIST for showing the same problem with large doubles. * NEWS.9.md: Update description of changes to mean.m.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Thu, 02 Mar 2023 10:57:03 -0500
parents c6eeb8b44c28
children 5eb1f1a77614
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
22 ### Graphical User Interface
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
23
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
24 ### Graphics backend
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
25
31819
4db921b57ace Extend set() to process any combination of acceptable inputs.
Rik <rik@octave.org>
parents: 31818
diff changeset
26 * the `set` function now accepts any combination of name/value pairs,
4db921b57ace Extend set() to process any combination of acceptable inputs.
Rik <rik@octave.org>
parents: 31818
diff changeset
27 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
28 This change is Matlab-compatible.
4db921b57ace Extend set() to process any combination of acceptable inputs.
Rik <rik@octave.org>
parents: 31818
diff changeset
29
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
30 ### Matlab compatibility
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
31
31868
c6eeb8b44c28 Port statistics pkg mean, median, var, & std into core (patch #10314)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31848
diff changeset
32 - 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
33 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
34 '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
35 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
36 (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
37 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
38 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
39 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
40
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
41 ### 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
42
31547
212cc32100f5 Add new function 'tensorprod' (patch #10288)
Kasper H. Filtenborg <kasper.filtenborg@gmail.com>
parents: 31484
diff changeset
43 * `tensorprod`
212cc32100f5 Add new function 'tensorprod' (patch #10288)
Kasper H. Filtenborg <kasper.filtenborg@gmail.com>
parents: 31484
diff changeset
44
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
45 ### Deprecated functions, properties, and operators
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
46
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
47 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
48 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
49 major release after 9):
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
50
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
51 - Functions
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
52
31457
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
53 Function | Replacement
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
54 -----------------------|------------------
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
55
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
56 - Properties
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
57
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
58 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
59 date for their removal.
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
60
31457
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
61 Object | Property | Replacement
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
62 -----------------|-------------|------------
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
63
31811
8e6a9cf412c1 maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents: 31547
diff changeset
64 - Core
8e6a9cf412c1 maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents: 31547
diff changeset
65
8e6a9cf412c1 maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents: 31547
diff changeset
66 * 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
67 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
68
8e6a9cf412c1 maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents: 31547
diff changeset
69 * 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
70 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
71 existing code with no loss of function.
8e6a9cf412c1 maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents: 31547
diff changeset
72
31818
758de955caca Deprecate octave_base_value::count member variable.
Rik <rik@octave.org>
parents: 31811
diff changeset
73 * 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
74
31457
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
75 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
76 from Octave 9.
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
77
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
78 - Functions
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
79
31457
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
80 Function | Replacement
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
81 ---------------------------|------------------
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
82 disable_diagonal_matrix | optimize_diagonal_matrix
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
83 disable_permutation_matrix | optimize_permutation_matrix
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
84 disable_range | optimize_range
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
85
31464
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
86 - Operators
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
87
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
88 Operator | Replacement
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
89 ---------|------------
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
90 .+ | +
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
91 .+= | +=
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
92 .- | -
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
93 .-= | -=
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
94 ** | ^
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
95 **= | ^=
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
96 .** | .^
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
97 .**= | .^=
344e1152ed88 remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents: 31457
diff changeset
98
31472
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
99 - Interpreter
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
100
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
101 * The use of `'...'` for line continuations *inside* double-quoted
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
102 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
103 instead.
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
104
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
105 * 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
106 strings has been removed. Use `'...'` for line continuations instead.
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
107
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
108 * 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
109 removed. Delete unnecessary trailing whitespace.
2ad979f8c265 maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents: 31464
diff changeset
110
31457
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
111 - For plot functions, the use of numbers to select line colors in
31443
c17155495497 maint: Remove m-files deprecated in Octave 7.
Rik <rik@octave.org>
parents: 31442
diff changeset
112 shorthand formats was an undocumented feature was removed from Octave 9.
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
113
31457
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
114 - 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
115 `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
116 and has been removed.
a96f68a48e9e maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents: 31443
diff changeset
117
31441
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
118 ### Old release news
e1cd3203bfb3 maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff changeset
119
31442
2bc8a40b5b75 NEWS.9.md: Fix typo (7 --> 8)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31441
diff changeset
120 - [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
121 - [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
122 - [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
123 - [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
124 - [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
125 - [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
126 - [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
127 - [Octave 1.x](etc/NEWS.1)