changeset 11774:3c08ffee1137 release-3-0-x

all false logical indexing fix
author David Bateman <dbateman@free.fr>
date Tue, 13 May 2008 17:45:35 +0200
parents cfe88845aa1e
children bd72c5e49dcb
files liboctave/ChangeLog liboctave/idx-vector.cc
diffstat 2 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/ChangeLog	Thu Feb 07 15:58:37 2008 -0500
+++ b/liboctave/ChangeLog	Tue May 13 17:45:35 2008 +0200
@@ -1,3 +1,9 @@
+2008-05-19  David Bateman  <dbateman@free.fr>
+
+	* idx-vector.cc (IDX_VEC_REP::idx_vector_rep (const boolNDArray&)):
+	If len is zero size the index vector in the same manner as if len
+	is not zero.
+
 2008-05-11  John W. Eaton  <jwe@octave.org>
 
 	* intNDArray.cc (intNDArray<T>::any (int)): Use != for comparison.
--- a/liboctave/idx-vector.cc	Thu Feb 07 15:58:37 2008 -0500
+++ b/liboctave/idx-vector.cc	Tue May 13 17:45:35 2008 +0200
@@ -296,11 +296,13 @@
     frozen (0), colon_equiv_checked (0), colon_equiv (0),
     orig_dims ()
 {
+  dim_vector dv = bnda.dims ();
+
+  orig_dims = ((dv.length () == 2 && dv(0) == 1)
+	       ? dim_vector (1, len) : orig_dims = dim_vector (len, 1));
+
   if (len == 0)
-    {
-      orig_dims = dim_vector (0, 0);
-      initialized = 1;
-    }
+    initialized = 1;
   else
     {
       data = new octave_idx_type [len];
@@ -311,11 +313,6 @@
 	if (bnda.elem (i))
 	  data[k++] = i;
 
-      dim_vector dv = bnda.dims ();
-
-      orig_dims = ((dv.length () == 2 && dv(0) == 1)
-		   ? dim_vector (1, len) : orig_dims = dim_vector (len, 1));
-
       init_state ();
     }
 }