comparison 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
comparison
equal deleted inserted replaced
10269:217d36560dfa 10270:6ffed9bb5598
467 else 467 else
468 { 468 {
469 checked[perm_elt] = true; 469 checked[perm_elt] = true;
470 identity = identity && perm_elt == i; 470 identity = identity && perm_elt == i;
471 } 471 }
472
473 dv_new(i) = dv(perm_elt);
474 } 472 }
475 473
476 if (identity) 474 if (identity)
477 return *this; 475 return *this;
478 476
479 if (inv) 477 if (inv)
480 { 478 {
481 for (int i = 0; i < perm_vec_len; i++) 479 for (int i = 0; i < perm_vec_len; i++)
482 perm_vec(perm_vec_arg(i)) = i; 480 perm_vec(perm_vec_arg(i)) = i;
483 } 481 }
482
483 for (int i = 0; i < perm_vec_len; i++)
484 dv_new(i) = dv(perm_vec(i));
484 485
485 retval = Array<T> (dv_new); 486 retval = Array<T> (dv_new);
486 487
487 if (numel () > 0) 488 if (numel () > 0)
488 { 489 {