changeset 1614:1c39163722ce

[project @ 1995-11-03 12:53:35 by jwe]
author jwe
date Fri, 03 Nov 1995 12:53:35 +0000
parents f18871f4df2b
children da72f1fae389
files liboctave/Array-idx.h
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/Array-idx.h	Fri Nov 03 12:12:36 1995 +0000
+++ b/liboctave/Array-idx.h	Fri Nov 03 12:53:35 1995 +0000
@@ -517,6 +517,15 @@
       int n = idx_i.freeze (lhs_nr, "row", pzo_flag, rre_flag);
       int m = idx_j.freeze (lhs_nc, "column", pzo_flag, rre_flag);
 
+      int idx_i_is_colon = idx_i.is_colon ();
+      int idx_j_is_colon = idx_j.is_colon ();
+
+      if (idx_i_is_colon)
+	n = rhs_nr;
+
+      if (idx_j_is_colon)
+	m = rhs_nc;
+
       if (idx_i && idx_j)
 	{
 	  if (rhs_nr == 0 && rhs_nc == 0)
@@ -527,8 +536,8 @@
 	    {
 	      if (rre_flag)
 		{
-		  int max_row_idx = idx_i.max () + 1;
-		  int max_col_idx = idx_j.max () + 1;
+		  int max_row_idx = idx_i_is_colon ? rhs_nr : idx_i.max () + 1;
+		  int max_col_idx = idx_j_is_colon ? rhs_nc : idx_j.max () + 1;
 
 		  int new_nr = max_row_idx > lhs_nr ? max_row_idx : lhs_nr;
 		  int new_nc = max_col_idx > lhs_nc ? max_col_idx : lhs_nc;