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
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
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)