diff liboctave/Array.cc @ 10270:6ffed9bb5598

fix ipermute
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 08 Feb 2010 07:09:03 +0100
parents e317791645c4
children 07ebe522dac2
line wrap: on
line diff
--- a/liboctave/Array.cc	Sat Feb 06 11:11:43 2010 +0100
+++ b/liboctave/Array.cc	Mon Feb 08 07:09:03 2010 +0100
@@ -469,8 +469,6 @@
           checked[perm_elt] = true;
           identity = identity && perm_elt == i;
         }
-
-      dv_new(i) = dv(perm_elt);
     }
 
   if (identity)
@@ -482,6 +480,9 @@
         perm_vec(perm_vec_arg(i)) = i;
     }
 
+  for (int i = 0; i < perm_vec_len; i++)
+    dv_new(i) = dv(perm_vec(i));
+
   retval = Array<T> (dv_new);
 
   if (numel () > 0)