diff liboctave/Array-util.cc @ 4593:77566be8b9e9

[project @ 2003-11-11 17:25:42 by jwe]
author jwe
date Tue, 11 Nov 2003 17:25:42 +0000
parents 19bfd295f400
children f2cd320cbf6e
line wrap: on
line diff
--- a/liboctave/Array-util.cc
+++ b/liboctave/Array-util.cc
@@ -510,6 +510,25 @@
   return retval;
 }
 
+Array<int>
+calc_permutated_idx (const Array<int>& old_idx, 
+		     const Array<int>& perm_vec, bool inv)
+{
+  int n_el = old_idx.length ();
+
+  Array<int> retval (n_el);
+
+  for (int i = 0; i < n_el; i++)
+    {
+      if (inv)
+	retval(perm_vec(i)-1) = old_idx(i);
+      else
+	retval(i) = old_idx(perm_vec(i)-1);
+    }
+
+  return retval;
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***