Mercurial > octave-antonio
changeset 10270:6ffed9bb5598
fix ipermute
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 08 Feb 2010 07:09:03 +0100 |
parents | 217d36560dfa |
children | 297996005012 |
files | liboctave/Array.cc liboctave/ChangeLog |
diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
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)
--- a/liboctave/ChangeLog Sat Feb 06 11:11:43 2010 +0100 +++ b/liboctave/ChangeLog Mon Feb 08 07:09:03 2010 +0100 @@ -1,3 +1,7 @@ +2010-02-08 Jaroslav Hajek <highegg@gmail.com> + + * Array.cc (Array<T>::permute): Fix result dimensions when inv=true. + 2010-02-05 Jaroslav Hajek <highegg@gmail.com> * MArrayN.cc (MArrayN::idx_min, MArrayN::idx_max): New methods.