Mercurial > octave
annotate etc/NEWS.9.md @ 31848:1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Previously only dec2bin and dec2hex accepted negative inputs but not
dec2base, which led to inconsistency and repeated code. This changeset
centralizes the negative input functionality in dec2base, and eliminates
that code in the other functions. It also adds the ability to accept
fractional inputs in dec2base.
dec2base.m: Add new functionality to handle negative inputs and
fractional inputs. Update BISTs. Add documentation.
dec2bin.m: Remove code to handle negative inputs. Pass through to dec2base.
Add code for padding the output to Matlab-compatible sizes. Update BISTs.
Add documentation.
dec2base.m: Remove a matrix indexing bug. Pass through to dec2bin.
Update BISTs. Add documentation.
NEWS.9.md: Add note about new functionality.
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Fri, 24 Feb 2023 12:45:21 -0500 |
parents | 4db921b57ace |
children | c6eeb8b44c28 |
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 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
32 ### 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
|
33 |
31547
212cc32100f5
Add new function 'tensorprod' (patch #10288)
Kasper H. Filtenborg <kasper.filtenborg@gmail.com>
parents:
31484
diff
changeset
|
34 * `tensorprod` |
212cc32100f5
Add new function 'tensorprod' (patch #10288)
Kasper H. Filtenborg <kasper.filtenborg@gmail.com>
parents:
31484
diff
changeset
|
35 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
36 ### Deprecated functions, properties, and operators |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
37 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
38 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
|
39 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
|
40 major release after 9): |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
41 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
42 - Functions |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
43 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
44 Function | Replacement |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
45 -----------------------|------------------ |
31441
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 - Properties |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
48 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
49 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
|
50 date for their removal. |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
51 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
52 Object | Property | Replacement |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
53 -----------------|-------------|------------ |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
54 |
31811
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
55 - Core |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
56 |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
57 * 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
|
58 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
|
59 |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
60 * 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
|
61 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
|
62 existing code with no loss of function. |
8e6a9cf412c1
maint: Deprecate obsolete idx_vector::bool() function.
Rik <rik@octave.org>
parents:
31547
diff
changeset
|
63 |
31818
758de955caca
Deprecate octave_base_value::count member variable.
Rik <rik@octave.org>
parents:
31811
diff
changeset
|
64 * 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
|
65 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
66 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
|
67 from Octave 9. |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
68 |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
69 - Functions |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
70 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
71 Function | Replacement |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
72 ---------------------------|------------------ |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
73 disable_diagonal_matrix | optimize_diagonal_matrix |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
74 disable_permutation_matrix | optimize_permutation_matrix |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
75 disable_range | optimize_range |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
76 |
31464
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
77 - Operators |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
78 |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
79 Operator | Replacement |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
80 ---------|------------ |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
81 .+ | + |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
82 .+= | += |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
83 .- | - |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
84 .-= | -= |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
85 ** | ^ |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
86 **= | ^= |
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 .**= | .^= |
344e1152ed88
remove operators deprecated in version 7
John W. Eaton <jwe@octave.org>
parents:
31457
diff
changeset
|
89 |
31472
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
90 - Interpreter |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
91 |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
92 * The use of `'...'` for line continuations *inside* double-quoted |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
93 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
|
94 instead. |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
95 |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
96 * 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
|
97 strings has been removed. Use `'...'` for line continuations instead. |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
98 |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
99 * 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
|
100 removed. Delete unnecessary trailing whitespace. |
2ad979f8c265
maint: Remove deprecated line continuation code.
Rik <rik@octave.org>
parents:
31464
diff
changeset
|
101 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
102 - 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
|
103 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
|
104 |
31457
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
105 - 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
|
106 `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
|
107 and has been removed. |
a96f68a48e9e
maint: Remove more deprecated code from Octave 9.
Rik <rik@octave.org>
parents:
31443
diff
changeset
|
108 |
31441
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
109 ### Old release news |
e1cd3203bfb3
maint: Add NEWS.9.md to repository and update build system.
Rik <rik@octave.org>
parents:
diff
changeset
|
110 |
31442
2bc8a40b5b75
NEWS.9.md: Fix typo (7 --> 8)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31441
diff
changeset
|
111 - [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
|
112 - [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
|
113 - [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
|
114 - [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
|
115 - [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
|
116 - [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
|
117 - [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
|
118 - [Octave 1.x](etc/NEWS.1) |