Mercurial > hg > octave-lyh
diff liboctave/Array.cc @ 6072:4036e6fca790
[project @ 2006-10-24 01:00:12 by jwe]
author | jwe |
---|---|
date | Tue, 24 Oct 2006 01:00:13 +0000 |
parents | 4289ed95dde8 |
children | f6c2d9276572 |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -2691,6 +2691,27 @@ } } } + else if ((n == 1 || m == 1) + && (rhs_nr == 1 || rhs_nc == 1) + && n * m == rhs_nr * rhs_nc) + { + if (n > 0 && m > 0) + { + MAYBE_RESIZE_LHS; + + octave_idx_type k = 0; + + for (octave_idx_type j = 0; j < m; j++) + { + octave_idx_type jj = idx_j.elem (j); + for (octave_idx_type i = 0; i < n; i++) + { + octave_idx_type ii = idx_i.elem (i); + lhs.elem (ii, jj) = xrhs.elem (k++); + } + } + } + } else if (n == rhs_nr && m == rhs_nc) { if (n > 0 && m > 0)