Mercurial > octave-nkf
diff liboctave/idx-vector.cc @ 9725:aea3a3a950e1
implement nth_element
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 14 Oct 2009 13:23:31 +0200 |
parents | a9b37bae1802 |
children | 95ad9c2a27e2 |
line wrap: on
line diff
--- a/liboctave/idx-vector.cc Tue Oct 13 21:10:37 2009 -0700 +++ b/liboctave/idx-vector.cc Wed Oct 14 13:23:31 2009 +0200 @@ -541,6 +541,26 @@ return res; } +octave_idx_type +idx_vector::increment (void) const +{ + octave_idx_type retval = 0; + switch (rep->idx_class ()) + { + case class_colon: + retval = 1; + case class_range: + retval = dynamic_cast<idx_range_rep *> (rep) -> get_step (); + break; + case class_vector: + { + if (length (0) > 1) + retval = elem (1) - elem (0); + } + } + return retval; +} + void idx_vector::copy_data (octave_idx_type *data) const {