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)