Mercurial > hg > octave-lyh
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");