diff liboctave/dRowVector.cc @ 3322:8c6b4de3bdc8

[project @ 1999-10-26 21:33:27 by jwe]
author jwe
date Tue, 26 Oct 1999 21:33:28 +0000
parents 8b262e771614
children d14c483b3c12
line wrap: on
line diff
--- a/liboctave/dRowVector.cc
+++ b/liboctave/dRowVector.cc
@@ -343,7 +343,7 @@
 {
   RowVector retval;
 
-  if (n > 0)
+  if (n > 1)
     {
       retval.resize (n);
       double delta = (x2 - x1) / (n - 1);
@@ -352,6 +352,20 @@
 	retval.elem (i) = x1 + i * delta;
       retval.elem (n-1) = x2;
     }
+  else if (n == 1)
+    {
+      if (x1 == x2)
+	{
+	  retval.resize (1);
+	  retval.elem (0) = x1;
+	}
+      else
+	(*current_liboctave_error_handler)
+	  ("linspace: npoints is 1, but x1 != x2");
+    }
+  else
+    (*current_liboctave_error_handler)
+      ("linspace: npoints must be greater than 0");
 
   return retval;
 }