Mercurial > jwe > octave
changeset 27328:0cf70e494a3f
maint: merge stable to default.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 05 Aug 2019 17:16:27 -0700 |
parents | cb92168e48f6 (current diff) 1582a6140275 (diff) |
children | 983dab0902f7 |
files | libinterp/corefcn/data.cc |
diffstat | 2 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/data.cc Mon Aug 05 12:41:23 2019 -0500 +++ b/libinterp/corefcn/data.cc Mon Aug 05 17:16:27 2019 -0700 @@ -1283,6 +1283,7 @@ %!assert (diag (1, 2, 3), [1,0,0; 0,0,0]) %!assert (diag ({1}, 2, 3), {1,[],[]; [],[],[]}) %!assert (diag ({1,2}, 3, 4), {1,[],[],[]; [],2,[],[]; [],[],[],[]}) +%!assert <*56711> (diag ({1,2,3}, 2, 1), {1; []}) ## Test out-of-range diagonals %!assert (diag (ones (3,3), 4), zeros (0, 1))
--- a/liboctave/array/Array.cc Mon Aug 05 12:41:23 2019 -0500 +++ b/liboctave/array/Array.cc Mon Aug 05 17:16:27 2019 -0700 @@ -2617,7 +2617,8 @@ Array<T> retval (dim_vector (m, n), resize_fill_value ()); - for (octave_idx_type i = 0; i < numel (); i++) + octave_idx_type nel = std::min (numel (), std::min (m, n)); + for (octave_idx_type i = 0; i < nel; i++) retval.xelem (i, i) = xelem (i); return retval;