view test/bug-38576.tst @ 19511:3746b92739f7

Replace some duplicated code and count on methods implemented on base classes. * liboctave/array/CMatrix.cc, liboctave/array/CMatrix.h, liboctave/array/dMatrix.cc, liboctave/array/dMatrix.h, liboctave/array/fCMatrix.cc, liboctave/array/fCMatrix.h, liboctave/array/fMatrix.cc, liboctave/array/fMatrix.h: remove a lot of duplicate code from Matrix type classes now that these classes inherit from their NDArrays counterpart. These mostly include operator ! and =, any_element_is_nan, any_element_is_inf_or_nan, all_elements_are_real, all_integers, too_large_for_float, all, any, cumprod, cumsum, prod, sum, sumsq, and abs. In some cases these need to still appear on the Matrix definition to avoid slicing.
author Carnë Draug <carandraug@octave.org>
date Fri, 07 Nov 2014 10:41:18 +0000
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