Mercurial > octave
view test/bug-49904.tst @ 30902:972959edc3ff
Allow sub2ind() to accept indices outside the size of the input subscripts (bug #62184)
* NEWS.8.md: Announce change in Matlab Compatibility section.
* sub2ind.cc: Add '#include "utility"' for access to std::swap.
* sub2ind.cc (Fsub2ind): Check nargout to figure out ndims of output.
For special case of vector (1-dimension), put in code to guarantee a
row vector output. Add BIST tests for bug #62184. Remove input
validation BIST which no longer applies.
* Array-util.cc (ind2sub): Remove input validation requiring index to
be within range of subscript size. Adjust code to put all remaining
elements in the final output dimension.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 05 Apr 2022 15:12:34 -0700 |
parents | 9080316864bf |
children |
line wrap: on
line source
%!shared A %! A = [ ... %! 1.00003+0.00000i, -0.68292+0.26406i, -0.57670+0.25291i, 0.34986+0.03335i; %! -0.68292-0.26406i, 0.94539+0.00000i, 0.69006-0.03967i, -0.43847+0.38619i; %! -0.57670-0.25291i, 0.69006+0.03967i, 0.95260+0.00000i, -0.34734+0.40728i; %! 0.34986-0.03335i, -0.43847-0.38619i, -0.34734-0.40728i, 0.98356+0.00000i]; %! %!test <*49904> %! [Ainv, rcond] = inv (A); %! assert (ishermitian (Ainv)); %! assert (A * Ainv, eye (4, 'double'), eps ('double') / rcond) %!test <*49904> %! [Ainv, rcond] = inv (single (A)); %! assert (ishermitian (Ainv)); %! assert (A * Ainv, eye (4, 'single'), eps ('single') / rcond)