Mercurial > hg > octave-nkf
diff liboctave/Array.cc @ 4759:364bbf35dbfa
[project @ 2004-02-15 00:08:06 by jwe]
author | jwe |
---|---|
date | Sun, 15 Feb 2004 00:08:07 +0000 |
parents | c48180a45d34 |
children | bec345670e56 |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -76,10 +76,35 @@ if (dims_changed) { - if (k == 0) - new_dimensions = dim_vector (1); - else - new_dimensions.resize (k); + switch (k) + { + case 0: + new_dimensions = dim_vector (1, 1); + break; + + case 1: + { + int tmp = new_dimensions(0); + + new_dimensions.resize (2); + + if (dimensions(0) == 1) + { + new_dimensions(0) = 1; + new_dimensions(1) = tmp; + } + else + { + new_dimensions(0) = tmp; + new_dimensions(1) = 1; + } + } + break; + + default: + new_dimensions.resize (k); + break; + } retval.make_unique ();