Mercurial > hg > octave-lyh
changeset 3680:b8b0f5ff28e2
[project @ 2000-06-08 20:06:17 by jwe]
author | jwe |
---|---|
date | Thu, 08 Jun 2000 20:06:17 +0000 |
parents | 0f319a2fca12 |
children | df54d394acc0 |
files | liboctave/Array2-idx.h liboctave/ChangeLog liboctave/idx-vector.cc |
diffstat | 3 files changed, 18 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/Array2-idx.h +++ b/liboctave/Array2-idx.h @@ -665,6 +665,11 @@ lhs.d1 = rhs.d1; lhs.d2 = rhs.d2; } + else if (lhs_is_empty && idx_i.one_zero_only ()) + { + lhs.d1 = idx_nr; + lhs.d2 = idx_nc; + } else if (rhs_nr == 1 && (idx_nr == 1 || lhs_len == 1)) {
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,12 @@ +2000-06-08 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Array2-idx.h (assign): Allow x(bool) = RHS to succeed if x is + previously undefined and set size of x to size of bool index. + * idx-vector.cc (IDX_VEC_REP::maybe_convert_one_zero_to_idx): + Allow z_len to be zero. + (IDX_VEC_REP::freeze): If z_len is zero, set frozen_at_z_len to len. + If frozen, don't assert that frozen_at_z_len == z_len. + 2000-05-20 John W. Eaton <jwe@bevo.che.wisc.edu> * oct-rl-edit.c (octave_rl_clear_screen): Call _rl_clear_screen
--- a/liboctave/idx-vector.cc +++ b/liboctave/idx-vector.cc @@ -405,7 +405,7 @@ void IDX_VEC_REP::maybe_convert_one_zero_to_idx (int z_len) { - if (one_zero && z_len == len) + if (one_zero && (z_len == len || z_len == 0)) { if (num_ones == 0) { @@ -585,10 +585,7 @@ IDX_VEC_REP::freeze (int z_len, const char *tag, int resize_ok) { if (frozen) - { - assert (frozen_at_z_len == z_len); - return frozen_len; - } + return frozen_len; frozen_len = -1; @@ -633,7 +630,8 @@ } frozen = 1; - frozen_at_z_len = z_len; + + frozen_at_z_len = z_len ? z_len : len; return frozen_len; }