Mercurial > hg > octave-lyh
diff liboctave/Array.cc @ 9507:b096d11237be
dim_vector improvements
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 07 Aug 2009 08:21:39 +0200 |
parents | 9fd5c56ce57a |
children | 1beb23d2b892 |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -586,7 +586,6 @@ Array<octave_idx_type> perm_vec = perm_vec_arg; dim_vector dv = dims (); - dim_vector dv_new; int perm_vec_len = perm_vec_arg.length (); @@ -594,7 +593,7 @@ (*current_liboctave_error_handler) ("%s: invalid permutation vector", inv ? "ipermute" : "permute"); - dv_new.resize (perm_vec_len); + dim_vector dv_new = dim_vector::alloc (perm_vec_len); // Append singleton dimensions as needed. dv.resize (perm_vec_len, 1); @@ -989,8 +988,7 @@ else { // Form result dimensions. - dim_vector rdv; - rdv.resize (ial); + dim_vector rdv = dim_vector::alloc (ial); for (int i = 0; i < ial; i++) rdv(i) = ia(i).length (dv(i)); rdv.chop_trailing_singletons (); @@ -1232,7 +1230,7 @@ { int ial = ia.length (); dim_vector dv = dimensions.redim (ial); - dim_vector dvx; dvx.resize (ial); + dim_vector dvx = dim_vector::alloc (ial); for (int i = 0; i < ial; i++) dvx(i) = ia(i).extent (dv (i)); if (! (dvx == dv)) { @@ -1437,7 +1435,7 @@ rdv = zero_dims_inquire (ia, rhdv); else { - rdv.resize (ial); + rdv = dim_vector::alloc (ial); for (int i = 0; i < ial; i++) rdv(i) = ia(i).extent (dv(i)); }