view test/bug-38576.tst @ 20603:f61c67865d9f

Don't return A for inv (A) when A is a singular Diagonal matrix (bug #46103). * dDiagMatrix.cc (inverse), fDiagMatrix.cc (inverse): return octave_Inf for the inverse of a diagonal element whose value is 0. * test/diag-perm.tst: Add tests for new behavior.
author Rik <rik@octave.org>
date Wed, 07 Oct 2015 07:41:44 -0700
parents 730bc06134f9
children
line wrap: on
line source

%!function r = f1 ()
%!  ls = svd (1);
%!  r = eval ("ls -1;");
%!endfunction
%!function r = f2 ()
%!  [u,ls,v] = svd (1);
%!  r = eval ("ls -1;");
%!endfunction
%!function r = f3 (ls)
%!  r = eval ("ls -1;");
%!endfunction

%!test
%! ## Windows systems can't run "ls -1"
%! if (! ispc ())
%!   assert (f1 (), 0);
%!   assert (f2 (), 0);
%!   assert (ischar (f3 ()), true);
%!   assert (f3 (1), 0);
%! endif