Mercurial > hg > octave-lyh
diff liboctave/idx-vector.cc @ 10516:f0266ee4aabe
optimize some special indexing & assignment cases
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 13 Apr 2010 14:59:01 +0200 |
parents | aac9f4265048 |
children | 6fb954475e21 |
line wrap: on
line diff
--- a/liboctave/idx-vector.cc +++ b/liboctave/idx-vector.cc @@ -1178,6 +1178,7 @@ for (octave_idx_type i = 0; i < n; i++) idx.xelem(ri[i]) = i; retval = new idx_vector_rep (idx, r->extent (0), DIRECT); + break; } default: retval = *this; @@ -1259,6 +1260,12 @@ { return rep->as_array (); } + +bool +idx_vector::is_vector (void) const +{ + return idx_class () != class_vector || orig_dimensions ().is_vector (); +} octave_idx_type idx_vector::freeze (octave_idx_type z_len, const char *, bool resize_ok)