diff liboctave/Array.cc @ 4740:65f30438c2a3

[project @ 2004-02-05 19:58:57 by jwe]
author jwe
date Thu, 05 Feb 2004 19:58:57 +0000
parents c9e5b9fa7b17
children e44d0ac643a5
line wrap: on
line diff
--- a/liboctave/Array.cc
+++ b/liboctave/Array.cc
@@ -1413,11 +1413,9 @@
 
   dim_vector lhs_dims = dims ();
 
-  dim_vector idx_is_colon;
-  idx_is_colon.resize (n_idx);
-
-  dim_vector idx_is_colon_equiv;
-  idx_is_colon_equiv.resize (n_idx);
+  Array<int> idx_is_colon (n_idx, 0);
+
+  Array<int> idx_is_colon_equiv (n_idx, 0);
 
   // Initialization of colon arrays.
 
@@ -2710,15 +2708,13 @@
 	      dim_vector new_dims;
 	      new_dims.resize (lhs_dims.length ());
 
-	      for (int i = 0; i < lhs_dims.length (); i++)
-		{
-		  if (i < idx.length () - 1
-		      && idx(i).elem (0) + 1 > lhs_dims(i))
-		    new_dims(i) = idx(i).elem (0)+1;
-		  else
-		    new_dims(i) = lhs_dims(i);
-		}
-
+	      for (int i = 0; i < idx.length () - 1; i++)
+		new_dims(i) = idx(i).elem (0) >= lhs_dims(i)
+		  ? idx(i).elem (0) + 1 : lhs_dims (i);
+
+	      for (int i = idx.length (); i < lhs_dims.length (); i++)
+		new_dims(i) = lhs_dims (i);
+  
 	      lhs.resize (new_dims, rfv);
 
 	      lhs_dims = lhs.dims ();