Mercurial > hg > octave-nkf
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 { |