diff src/data.cc @ 10350:12884915a8e4

merge MArray classes & improve Array interface
author Jaroslav Hajek <highegg@gmail.com>
date Sat, 23 Jan 2010 21:41:03 +0100
parents 57a59eae83cc
children a3635bc1ea19
line wrap: on
line diff
--- a/src/data.cc	Mon Feb 22 23:07:21 2010 -0500
+++ b/src/data.cc	Sat Jan 23 21:41:03 2010 +0100
@@ -1892,7 +1892,7 @@
   do \
     { \
       int dv_len = dv.length (); \
-      Array<octave_idx_type> ra_idx (dv_len > 1 ? dv_len : 2, 0); \
+      Array<octave_idx_type> ra_idx (dv_len > 1 ? dv_len : 2, 1, 0); \
       \
       for (int j = 1; j < n_args; j++) \
         { \
@@ -2073,7 +2073,7 @@
                 return retval;
 
               int dv_len = dv.length ();
-              Array<octave_idx_type> ra_idx (dv_len, 0);
+              Array<octave_idx_type> ra_idx (dv_len, 1, 0);
 
               for (int j = 1; j < n_args; j++)
                 {
@@ -4835,7 +4835,7 @@
     new_size = args(1).int_vector_value ();
   else if (nargin > 2)
     {
-      new_size.resize (nargin-1);
+      new_size.resize (1, nargin-1);
       int empty_dim = -1;
       
       for (int i = 1; i < nargin; i++)
@@ -4904,8 +4904,6 @@
         break;
     }
 
-  new_size.resize (n);
-
   if (n < 2)
     {
       error ("reshape: expecting size to be vector with at least 2 elements");
@@ -6368,8 +6366,8 @@
   NDT retval (dim_vector (n, 1), zero_val);
 
   // Pick minimizer or maximizer.
-  void (MArrayN<T>::*op) (const idx_vector&, const MArrayN<T>&) = 
-    ismin ? (&MArrayN<T>::idx_min) : (&MArrayN<T>::idx_max);
+  void (MArray<T>::*op) (const idx_vector&, const MArray<T>&) = 
+    ismin ? (&MArray<T>::idx_min) : (&MArray<T>::idx_max);
 
   octave_idx_type l = idx.length (n);
   if (vals.numel () == 1)