# HG changeset patch # User Jaroslav Hajek # Date 1263505157 -3600 # Node ID 5aff7f14aa7f92fe58522fa95ecabdbf8913fa2c # Parent fddfebeeb33ac1ea4187305aa6490adcf23ed99c fix concatenation bug diff -r fddfebeeb33a -r 5aff7f14aa7f liboctave/Array.cc --- a/liboctave/Array.cc Thu Jan 14 16:15:53 2010 -0500 +++ b/liboctave/Array.cc Thu Jan 14 22:39:17 2010 +0100 @@ -1593,17 +1593,17 @@ { octave_idx_type n = ra_idx.length (); - if (n == dimensions.length ()) + if (n >= dimensions.length ()) { - dim_vector dva = a.dims (); - dim_vector dv = dims (); + const dim_vector dva = a.dims (); + const dim_vector dv = dims ().redim (n); int len_a = dva.length (); int non_full_dim = 0; for (octave_idx_type i = 0; i < n; i++) { if (ra_idx(i) < 0 || (ra_idx(i) + - (i < len_a ? dva(i) : 1)) > dimensions(i)) + (i < len_a ? dva(i) : 1)) > dv(i)) { (*current_liboctave_error_handler) ("Array::insert: range error for insert"); diff -r fddfebeeb33a -r 5aff7f14aa7f liboctave/ChangeLog --- a/liboctave/ChangeLog Thu Jan 14 16:15:53 2010 -0500 +++ b/liboctave/ChangeLog Thu Jan 14 22:39:17 2010 +0100 @@ -1,3 +1,8 @@ +2010-01-14 Jaroslav Hajek + + * Array.cc (Array::insert (const Array&, const + Array&): Allow less dimensions than indices. + 2010-01-14 Jaroslav Hajek * chNDArray.h: Declare relational bsxfun ops.