Mercurial > hg > octave-nkf
diff liboctave/Array.cc @ 4756:60c78bde10e5
[project @ 2004-02-13 21:58:01 by jwe]
author | jwe |
---|---|
date | Fri, 13 Feb 2004 21:58:01 +0000 |
parents | 9a6bfff40c8d |
children | c48180a45d34 |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -1165,10 +1165,19 @@ n = nr; else { - (*current_liboctave_error_handler) - ("A(idx) = []: expecting A to be row or column vector or scalar"); - - return; + // Reshape to row vector for Matlab compatibility. + + n = nr * nc; + nr = 1; + nc = n; + + if (liboctave_wfi_flag) + { + (*current_liboctave_warning_handler) + ("A(idx) = []: expecting A to be row or column vector or scalar"); + + return; + } } if (idx_arg.is_colon_equiv (n, 1)) @@ -1214,10 +1223,7 @@ iidx++; else { - if (nr == 1) - new_data[ii] = elem (0, i); - else - new_data[ii] = elem (i, 0); + new_data[ii] = elem (i); ii++; } @@ -2629,7 +2635,9 @@ if (idx_i) { - if (len == 0) + if (rhs_nr == 0 && rhs_nc == 0) + lhs.maybe_delete_elements (idx_i); + else if (len == 0) { if (! ((rhs_nr == 1 && rhs_nc == 1) || (rhs_nr == 0 && rhs_nc == 0)))