Mercurial > hg > octave-nkf
diff src/ov-base-mat.cc @ 4513:508238e65af7
[project @ 2003-09-19 21:40:57 by jwe]
author | jwe |
---|---|
date | Fri, 19 Sep 2003 21:41:21 +0000 |
parents | 7afd4bf05aa8 |
children | 8e1c04e506ce |
line wrap: on
line diff
--- a/src/ov-base-mat.cc +++ b/src/ov-base-mat.cc @@ -144,10 +144,13 @@ default: { - std::string n = type_name (); + Array<idx_vector> idx_vec (len); - error ("invalid number of indices (%d) for %s value", - len, n.c_str ()); + for (int i = 0; i < len; i++) + idx_vec(i) = idx(i).index_vector (); + + retval = MT (matrix.index (idx_vec, resize_ok, + MT::resize_fill_value ())); } break; } @@ -161,35 +164,10 @@ { int len = idx.length (); - switch (len) - { - case 2: - { - idx_vector i = idx (0).index_vector (); - idx_vector j = idx (1).index_vector (); - - matrix.set_index (i); - matrix.set_index (j); - - ::assign (matrix, rhs, MT::resize_fill_value ()); - } - break; + for (int i = 0; i < len; i++) + matrix.set_index (idx(i).index_vector ()); - case 1: - { - idx_vector i = idx (0).index_vector (); - - matrix.set_index (i); - - ::assign (matrix, rhs, MT::resize_fill_value ()); - } - break; - - default: - error ("invalid number of indices (%d) for indexed assignment", - len); - break; - } + ::assign (matrix, rhs, MT::resize_fill_value ()); } template <class MT>