Mercurial > octave
changeset 25235:27e6b38571d3
magic.m: Issue an error if input N is negative (bug #53441).
* magic.m: Check for negative N and call error() if found.
Add BIST test to check new code.
author | Dildar Sk <dildarsk101010@gmail.com> |
---|---|
date | Fri, 23 Mar 2018 19:03:45 -0400 |
parents | b02d5a4c7452 |
children | 69b21b8a0e9f |
files | scripts/special-matrix/magic.m |
diffstat | 1 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/special-matrix/magic.m Thu Apr 12 13:46:00 2018 -0700 +++ b/scripts/special-matrix/magic.m Fri Mar 23 19:03:45 2018 -0400 @@ -36,10 +36,10 @@ endif n = fix (n); - if (n < 1) - + if (n < 0) + error ("magic: N must be non-negative"); + elseif (n < 1) A = []; - elseif (mod (n, 2) == 1) shift = floor ((0:n*n-1)/n); @@ -91,10 +91,8 @@ %!test <*46672> %! m = magic (2); %! assert (size (m), [2 2]); -%! assert (unique (m), [1; 2; 3; 4]); +%! assert (m, [4 3; 1 2]); -%!assert (magic (2), [4 3; 1 2]) -%!assert (isempty (magic (-1))) %!assert (isempty (magic (0))) %!assert (magic (1), 1) %!assert (magic (1.5), 1) @@ -102,3 +100,4 @@ ## Test input validation %!error magic () %!error magic (1, 2) +%!error <N must be non-negative> magic (-5)