# HG changeset patch # User jwe # Date 1093375966 0 # Node ID 954cc2ba6a4968e9e4b1706000e81c419d89decb # Parent 22388c7625a0353c3048049c9216ad8d8dd3b04c [project @ 2004-08-24 19:30:31 by jwe] diff -r 22388c7625a0 -r 954cc2ba6a49 liboctave/CNDArray.cc --- a/liboctave/CNDArray.cc Tue Aug 10 04:33:51 2004 +0000 +++ b/liboctave/CNDArray.cc Tue Aug 24 19:32:46 2004 +0000 @@ -658,7 +658,7 @@ const Array& ra_idx) { ComplexNDArray retval (ra); - if (ra.numel () > 0) + if (rb.numel () > 0) retval.insert (rb, ra_idx); return retval; } @@ -668,7 +668,7 @@ { ComplexNDArray retval (ra); ComplexNDArray tmp (rb); - if (ra.numel () > 0) + if (rb.numel () > 0) retval.insert (tmp, ra_idx); return retval; } @@ -677,7 +677,7 @@ concat (const NDArray& ra, const ComplexNDArray& rb, const Array& ra_idx) { ComplexNDArray retval (ra); - if (ra.numel () > 0) + if (rb.numel () > 0) retval.insert (rb, ra_idx); return retval; } diff -r 22388c7625a0 -r 954cc2ba6a49 liboctave/ChangeLog --- a/liboctave/ChangeLog Tue Aug 10 04:33:51 2004 +0000 +++ b/liboctave/ChangeLog Tue Aug 24 19:32:46 2004 +0000 @@ -1,3 +1,15 @@ +2004-08-24 David Bateman + + * chNDArray.cc (concat): Check whether matrix to be inserted is + empty instead of checking final matrix. + * dNDArray.cc (concat): Likewise. + * CNDArray.cc (concat): Likewise. + +2004-08-23 David Bateman + + * dim-vector.h (dim_vector::concat): Correct incrementation for + non-existent dimensions. + 2004-08-09 John W. Eaton * idx-vector.h (idx_vector::idx_vector_rep::tree_to_mat_idx diff -r 22388c7625a0 -r 954cc2ba6a49 liboctave/chNDArray.cc --- a/liboctave/chNDArray.cc Tue Aug 10 04:33:51 2004 +0000 +++ b/liboctave/chNDArray.cc Tue Aug 24 19:32:46 2004 +0000 @@ -53,7 +53,7 @@ concat (const charNDArray& ra, const charNDArray& rb, const Array& ra_idx) { charNDArray retval (ra); - if (ra.numel () > 0) + if (rb.numel () > 0) retval.insert (rb, ra_idx); return retval; } @@ -65,7 +65,7 @@ charNDArray tmp (rb.dims ()); int nel = rb.numel (); - if (ra.numel () == 0) + if (rb.numel () == 0) return retval; for (int i = 0; i < nel; i++) @@ -124,6 +124,9 @@ } } + if (rb.numel () == 0) + return retval; + retval.insert (rb, ra_idx); return retval; } diff -r 22388c7625a0 -r 954cc2ba6a49 liboctave/dNDArray.cc --- a/liboctave/dNDArray.cc Tue Aug 10 04:33:51 2004 +0000 +++ b/liboctave/dNDArray.cc Tue Aug 24 19:32:46 2004 +0000 @@ -796,7 +796,7 @@ concat (const NDArray& ra, const NDArray& rb, const Array& ra_idx) { NDArray retval (ra); - if (ra.numel () > 0) + if (rb.numel () > 0) retval.insert (rb, ra_idx); return retval; } diff -r 22388c7625a0 -r 954cc2ba6a49 liboctave/dim-vector.h --- a/liboctave/dim-vector.h Tue Aug 10 04:33:51 2004 +0000 +++ b/liboctave/dim-vector.h Tue Aug 24 19:32:46 2004 +0000 @@ -422,7 +422,7 @@ // Larger or equal since dim has been decremented by one. if (dim >= nb) - elem (dim) = elem (dim)++; + elem (dim)++; else elem (dim) += dvb(dim);