Mercurial > hg > octave-nkf
diff src/ov-usr-fcn.cc @ 8580:188d38a553c7
further indexing optimization touches
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 23 Jan 2009 13:13:39 +0100 |
parents | 54b41376e381 |
children | 73c4516fae10 |
line wrap: on
line diff
--- a/src/ov-usr-fcn.cc +++ b/src/ov-usr-fcn.cc @@ -263,16 +263,10 @@ { octave_value_list retval; - int n = num_args_passed - num_named_args; + octave_idx_type n = num_args_passed - num_named_args; if (n > 0) - { - retval.resize (n); - - int k = 0; - for (int i = num_named_args; i < num_args_passed; i++) - retval(k++) = args_passed(i); - } + retval = args_passed.slice (num_named_args, n); return retval; } @@ -539,16 +533,7 @@ symbol_table::mark_hidden (".nargout."); if (takes_varargs ()) - { - int n = va_args.length (); - - Cell varargin (1, n); - - for (int i = 0; i < n; i++) - varargin(0,i) = va_args(i); - - symbol_table::varref ("varargin") = varargin; - } + symbol_table::varref ("varargin") = va_args.cell_value (); } DEFUN (nargin, args, ,