diff src/data.cc @ 4559:802818bfac91

[project @ 2003-10-28 19:13:43 by jwe]
author jwe
date Tue, 28 Oct 2003 19:13:43 +0000
parents 773a21e4fce8
children 742993a501b9
line wrap: on
line diff
--- a/src/data.cc
+++ b/src/data.cc
@@ -711,6 +711,32 @@
   return retval;
 }
 
+DEFUN (numel, args, ,
+  "-*- texinfo -*-\n\
+@deftypefn {Built-in Function} {} numel (@var{a})\n\
+Returns the number of elements in the object @var{a}.\n\
+@end deftypefn")
+{
+  octave_value retval;
+
+  if (args.length () == 1)
+    {
+      int numel = args(0).numel ();
+
+      if (! error_state)
+	{
+	  if (numel < 0)
+	    numel = 0;
+
+	  retval = numel;
+	}
+    }
+  else
+    print_usage ("numel");
+
+  return retval;
+}
+
 DEFUN (size, args, nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} size (@var{a}, @var{n})\n\
@@ -877,14 +903,7 @@
   octave_value retval = false;
 
   if (args.length () == 1)
-    {
-      octave_value arg = args(0);
-
-      if (arg.is_matrix_type ())
-	retval = (arg.rows () == 0 || arg.columns () == 0);
-      else if (arg.is_list () || arg.is_string ())
-	retval = (arg.length () == 0);
-    }
+    retval = args(0).is_empty ();
   else
     print_usage ("isempty");