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	Tue Apr 13 14:56:29 2010 +0200
+++ b/liboctave/idx-vector.cc	Tue Apr 13 14:59:01 2010 +0200
@@ -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)