diff src/ov-re-mat.h @ 9351:e2344f4af0cb

autocache indices returned from find et al.
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 15 Jun 2009 12:52:53 +0200
parents 16a5f9e1fdb3
children d4b1314a7c31
line wrap: on
line diff
--- a/src/ov-re-mat.h	Mon Jun 15 10:40:10 2009 +0200
+++ b/src/ov-re-mat.h	Mon Jun 15 12:52:53 2009 +0200
@@ -81,6 +81,15 @@
   octave_matrix (const octave_matrix& m)
     : octave_base_matrix<NDArray> (m) { }
 
+  octave_matrix (const Array<octave_idx_type>& idx, 
+                 bool zero_based = false, bool cache_index = false)
+    : octave_base_matrix<NDArray> (NDArray (idx, zero_based))
+    {
+      // Auto-create cache to speed up subsequent indexing.
+      if (zero_based && cache_index)
+        set_idx_cache (idx_vector (idx));
+    }
+
   ~octave_matrix (void) { }
 
   octave_base_value *clone (void) const { return new octave_matrix (*this); }