diff src/pt-loop.cc @ 3180:c17387059fd3

[project @ 1998-09-24 18:59:11 by jwe]
author jwe
date Thu, 24 Sep 1998 19:00:19 +0000
parents aa9d0c0e0458
children bef7b73c0724
line wrap: on
line diff
--- a/src/pt-loop.cc	Wed Jul 29 19:50:02 1998 +0000
+++ b/src/pt-loop.cc	Thu Sep 24 19:00:19 1998 +0000
@@ -187,7 +187,29 @@
       return;
     }
 
-  if (rhs.is_scalar_type ())
+  if (rhs.is_range ())
+    {
+      Range rng = rhs.range_value ();
+
+      int steps = rng.nelem ();
+      double b = rng.base ();
+      double increment = rng.inc ();
+
+      for (int i = 0; i < steps; i++)
+	{
+	  double tmp_val = b + i * increment;
+
+	  octave_value val (tmp_val);
+
+	  bool quit = false;
+
+	  do_for_loop_once (ult, val, quit);
+
+	  if (quit)
+	    break;
+	}
+    }
+  else if (rhs.is_scalar_type ())
     {
       bool quit = false;
 
@@ -214,6 +236,9 @@
 	  steps = cm_tmp.columns ();
 	}
 
+      if (error_state)
+	return;
+
       if (rhs.is_real_matrix ())
 	{
 	  if (nr == 1)
@@ -229,32 +254,6 @@
 	    DO_LOOP (cm_tmp.extract (0, i, nr-1, i));
 	}
     }
-  else if (rhs.is_string ())
-    {
-      gripe_string_invalid ();
-    }
-  else if (rhs.is_range ())
-    {
-      Range rng = rhs.range_value ();
-
-      int steps = rng.nelem ();
-      double b = rng.base ();
-      double increment = rng.inc ();
-
-      for (int i = 0; i < steps; i++)
-	{
-	  double tmp_val = b + i * increment;
-
-	  octave_value val (tmp_val);
-
-	  bool quit = false;
-
-	  do_for_loop_once (ult, val, quit);
-
-	  if (quit)
-	    break;
-	}
-    }
   else if (rhs.is_map ())
     {
       Octave_map tmp_val (rhs.map_value ());