Mercurial > octave
view test/bug-45972.tst @ 31623:59422a6fbd91 stable
mean.m: Accept large DIM inputs and calculate Matlab-compatible output (bug #63411)
* mean.m: Accept large DIM inputs by removing any dimensions larger than the
dimensions of the input array. Use vectorized operations, rather than for
loop, for this input validation. Pre-declare output array before for loop
for performance. Use ipermute() after calculations to return
correctly-dimensioned result (checked with Matlab). Change BIST tests results
to match correct behavior.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 02 Dec 2022 21:34:15 -0800 |
parents | 9080316864bf |
children |
line wrap: on
line source
%!test <*45972> %! ascii_filename = tempname (); %! binary_filename = tempname (); %! f = @ (x, y, varargin) x + y + varargin{1}; %! unwind_protect %! save ("-text", ascii_filename, "f"); %! save ("-binary", binary_filename, "f"); %! ascii = load (ascii_filename); %! binary = load (binary_filename); %! assert (f (1, 2, 3), ascii.f (1, 2, 3)); %! assert (f (1, 2, 3), binary.f (1, 2, 3)); %! unwind_protect_cleanup %! unlink (ascii_filename); %! unlink (binary_filename); %! end_unwind_protect %!testif HAVE_HDF5 <*45972> %! hdf5_filename = tempname (); %! f = @ (x, y, varargin) x + y + varargin{1}; %! unwind_protect %! save ("-hdf5", hdf5_filename, "f"); %! hdf5 = load (hdf5_filename); %! assert (f (1, 2, 3), hdf5.f (1, 2, 3)); %! unwind_protect_cleanup %! unlink (hdf5_filename); %! end_unwind_protect