# HG changeset patch # User Arun Giridhar # Date 1715187079 14400 # Node ID efbdbe7f3264f4ee7105306c91cdf4fce0a82abb # Parent b6189d2a3d3c03a762e75f196b2eaf330c74b677# Parent a12d26fababc897c80d69d99557a1ccddd9279fe maint: Merge default to bytecode-interpreter diff -r b6189d2a3d3c -r efbdbe7f3264 liboctave/array/Array-base.cc --- a/liboctave/array/Array-base.cc Wed May 08 09:19:40 2024 -0400 +++ b/liboctave/array/Array-base.cc Wed May 08 12:51:19 2024 -0400 @@ -1806,14 +1806,10 @@ if (dim < 0) (*current_liboctave_error_handler) ("sort: invalid dimension"); - Array m (dims ()); - - dim_vector dv = m.dims (); - - if (m.numel () < 1) - return m; - - if (dim >= dv.ndims ()) + if (numel () < 1) // input array is empty, + return *this; + + if (dim >= ndims ()) { // The dimension to sort along exceeds the array's dimensions, // ==> array is already trivially sorted in such higher dimensions, @@ -1822,6 +1818,10 @@ return *this; } + Array m (dims ()); + + dim_vector dv = m.dims (); + octave_idx_type ns = dv(dim); octave_idx_type iter = dv.numel () / ns; octave_idx_type stride = 1;