Mercurial > octave
annotate scripts/strings/dec2hex.m @ 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 | 597f3ee61a48 |
children | a098cc74d9a5 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
31706
597f3ee61a48
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
31243
diff
changeset
|
3 ## Copyright (C) 1996-2023 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
2325 | 7 ## |
2313 | 8 ## This file is part of Octave. |
9 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
2313 | 11 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
13 ## (at your option) any later version. |
2313 | 14 ## |
15 ## Octave is distributed in the hope that it will be useful, but | |
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
18 ## GNU General Public License for more details. |
2313 | 19 ## |
20 ## You should have received a copy of the GNU General Public License | |
7016 | 21 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
2268 | 25 |
3361 | 26 ## -*- texinfo -*- |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
27 ## @deftypefn {} {@var{hstr} =} dec2hex (@var{d}) |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
28 ## @deftypefnx {} {@var{hstr} =} dec2hex (@var{d}, @var{len}) |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
29 ## Return a string representing the conversion of the integer @var{d} to a |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
30 ## hexadecimal (base16) number. |
20164
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
31 ## |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
32 ## If @var{d} is negative, return the hexadecimal complement of @var{d}. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
33 ## |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
34 ## If @var{d} is a matrix or cell array, return a string matrix with one row |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
35 ## for each element in @var{d}, padded with leading zeros to the width of the |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
36 ## largest value. |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
37 ## |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
38 ## The optional second argument, @var{len}, specifies the minimum number of |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
39 ## digits in the result. |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
40 ## |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
41 ## Examples: |
3426 | 42 ## |
3361 | 43 ## @example |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
44 ## @group |
3361 | 45 ## dec2hex (2748) |
3789 | 46 ## @result{} "ABC" |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
47 ## |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
48 ## dec2hex (-2) |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
49 ## @result{} "FE" |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
50 ## @end group |
3361 | 51 ## @end example |
3789 | 52 ## |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
53 ## Programming tip: @code{dec2hex} discards any fractional part of the input. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
54 ## If you need the fractional part to be converted too, call @code{dec2base} |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
55 ## with a non-zero number of decimal places. You can also use @code{fix} or |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
56 ## @code{round} on fractional inputs to ensure predictable rounding behavior. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
57 ## |
11172
7e8ce65f73cf
Overhaul functions used to convert between number bases.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
58 ## @seealso{hex2dec, dec2base, dec2bin} |
3361 | 59 ## @end deftypefn |
2311 | 60 |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
61 function hstr = dec2hex (d, len) |
2268 | 62 |
28789
28de41192f3c
Eliminate unneeded verification of nargin, nargout in m-files.
Rik <rik@octave.org>
parents:
28693
diff
changeset
|
63 if (nargin == 0) |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
64 print_usage (); |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
65 endif |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
66 |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
67 if (iscell (d)) |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
68 d = cell2mat (d); |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
69 endif |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
70 d = d(:); |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
71 |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
72 neg = (d < 0); |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
73 |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
74 if (nargin == 2) |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
75 d = dec2bin (d, len*4); |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
76 else |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
77 d = dec2bin (d); |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
78 endif |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
79 |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
80 ## Left-pad to a multiple of 4 columns. |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
81 n = mod (columns (d), 4); |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
82 if (n > 0) |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
83 tmp = "01"(neg + 1); # leftpad with "0" for positive, "1" for negative |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
84 d = [repmat(tmp(:), 1, 4 - n), d]; |
2268 | 85 endif |
2325 | 86 |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
87 d -= '0'; # convert to numeric |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
88 d = d(:, 1:4:end) * 8 + d(:, 2:4:end) * 4 + d(:, 3:4:end) * 2 + d(:, 4:4:end); |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
89 ## Elements of d are now in the range 0 to 15. |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
90 |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
91 ## Convert to char matrix and return. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
92 ## We used to return this in a single line: |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
93 ## hstr = ("0123456789ABCDEF")(d+1); |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
94 ## But there are edge cases governing the sizes of row and column vectors |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
95 ## that cause problems with output size, so we use a loop instead. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
96 hstr = repmat (' ', size (d)); |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
97 v = "0123456789ABCDEF"; |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
98 for t = 0:15 |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
99 hstr(d == t) = v(t + 1); |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
100 endfor |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
101 |
2268 | 102 endfunction |
7411 | 103 |
13167
f7cb824dc8c0
Allow cellstr inputs for dec2* conversion functions.
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
104 |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
105 %!assert (dec2hex (2748), "ABC") |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
106 %!assert (dec2hex (2748, 5), "00ABC") |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
107 %!assert (dec2hex ([2748, 2746]), ["ABC"; "ABA"]) |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
108 %!assert (dec2hex ({2748, 2746}), ["ABC"; "ABA"]) |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
109 %!assert (dec2hex ({2748, 2746}, 4), ["0ABC"; "0ABA"]) |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
110 |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
111 ## Test negative inputs |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
112 %!assert (dec2hex (-3), "FD") |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
113 %!assert (dec2hex (-3, 1), "FD") |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
114 %!assert (dec2hex (-3, 3), "FFD") |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
115 %!assert (dec2hex (-2^7 - 1), "FF7F") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
116 %!assert (dec2hex (-2^15 - 1), "FFFF7FFF") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
117 %!assert (dec2hex (-2^31 - 1), "FFFFFFFF7FFFFFFF") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
118 %!assert (dec2hex (-2^52), "FFF0000000000000") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
119 %!assert (dec2hex (-2^63), "8000000000000000") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
120 %!assert (dec2hex (int64 (-2) ^ 63), "8000000000000000") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
121 %!assert (dec2hex (int64 (-2) ^ 63 - 1), "8000000000000000") |
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
122 %!assert (dec2hex (int64 (-2) ^ 63 + 1), "8000000000000001") |
28242
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
123 %!assert (dec2hex ([-1, -2; -3, -4]), ["FF"; "FD"; "FE"; "FC"]) |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
124 %!assert (dec2hex ([1, 2; 3, -4]), ["01"; "03"; "02"; "FC"]) |
f618edac2a29
dec2hex.m: Implement support for negative number inputs (bug #58147).
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
125 %!assert (dec2hex ({1, 2; 3, -4}), ["01"; "03"; "02"; "FC"]) |
7411 | 126 |
31848
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
127 ## Test that the output is of the correct size. |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
128 ## Next line should return a column vector: |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
129 %!assert (dec2hex (0:15), "0123456789ABCDEF"(:)) |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
130 ## Next line should return a row vector: |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
131 %!assert (dec2hex (uint64 (18364758544493064720)), "FEDCBA9876543210") |
1f3f7e874203
dec2base.m: Accept negative and fractional inputs (bug #63282)
Arun Giridhar <arungiridhar@gmail.com>
parents:
31706
diff
changeset
|
132 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
133 ## Test input validation |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
28789
diff
changeset
|
134 %!error <Invalid call> dec2hex () |
31242
96ad887ae4f8
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
135 |