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
 {