#include <sstream>
#include "str-vec.h"
#include <defaults.h>
#include "Cell.h"
#include "defun.h"
#include "error.h"
#include "gripes.h"
#include "input.h"
#include "oct-obj.h"
#include "ov-usr-fcn.h"
#include "ov.h"
#include "pager.h"
#include "pt-eval.h"
#include "pt-jump.h"
#include "pt-misc.h"
#include "pt-pr-code.h"
#include "pt-stmt.h"
#include "pt-walk.h"
#include "symtab.h"
#include "toplev.h"
#include "unwind-prot.h"
#include "utils.h"
#include "parse.h"
#include "profiler.h"
#include "variables.h"
Go to the source code of this file.
Functions | |
DEFINE_OCTAVE_ALLOCATOR (octave_user_script) | |
DEFINE_OCTAVE_ALLOCATOR (octave_user_function) | |
DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA (octave_user_script,"user-defined script","user-defined script") | |
DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA (octave_user_function,"user-defined function","user-defined function") | |
DEFUN (optimize_subsasgn_calls, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{val} =} optimize_subsasgn_calls ()\n\ @deftypefnx {Built-in Function} {@var{old_val} =} optimize_subsasgn_calls (@var{new_val})\n\ @deftypefnx {Built-in Function} {} optimize_subsasgn_calls (@var{new_val}, \"local\")\n\ Query or set the internal flag for subsasgn method call optimizations.\n\ If true, Octave will attempt to eliminate the redundant copying when calling\n\ subsasgn method of a user-defined class.\n\ \n\ When called from inside a function with the \"local\" option, the variable is\n\ changed locally for the function and any subroutines it calls. The original\n\ variable value is restored when exiting the function.\n\ @end deftypefn") | |
DEFUN (nargout, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} nargout ()\n\ @deftypefnx {Built-in Function} {} nargout (@var{fcn_name})\n\ Within a function, return the number of values the caller expects to\n\ receive. If called with the optional argument @var{fcn_name}, return the\n\ maximum number of values the named function can produce, or -1 if the\n\ function can produce a variable number of values.\n\ \n\ For example,\n\ \n\ @example\n\ f ()\n\ @end example\n\ \n\ @noindent\n\ will cause @code{nargout} to return 0 inside the function @code{f} and\n\ \n\ @example\n\ [s, t] = f ()\n\ @end example\n\ \n\ @noindent\n\ will cause @code{nargout} to return 2 inside the function\n\ @code{f}.\n\ \n\ At the top level, @code{nargout} is undefined.\n\ @seealso{nargin, varargin, isargout, varargout, nthargout}\n\ @end deftypefn") | |
DEFUN (nargin, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} nargin ()\n\ @deftypefnx {Built-in Function} {} nargin (@var{fcn_name})\n\ Within a function, return the number of arguments passed to the function.\n\ At the top level, return the number of command line arguments passed to\n\ Octave. If called with the optional argument @var{fcn_name}, return the\n\ maximum number of arguments the named function can accept, or -1 if the\n\ function accepts a variable number of arguments.\n\ @seealso{nargout, varargin, isargout, varargout, nthargout}\n\ @end deftypefn") | |
DEFUN (isargout, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} isargout (@var{k})\n\ Within a function, return a logical value indicating whether the argument\n\ @var{k} will be assigned on output to a variable. If the result is false,\n\ the argument has been ignored during the function call through the use of\n\ the tilde (~) special output argument. Functions can use @code{isargout} to\n\ avoid performing unnecessary calculations for outputs which are unwanted.\n\ \n\ If @var{k} is outside the range @code{1:max(nargout)}, the function returns\n\ false. @var{k} can also be an array, in which case the function works\n\ element-by-element and a logical array is returned. At the top level,\n\ @code{isargout} returns an error.\n\ @seealso{nargout, nargin, varargin, varargout, nthargout}\n\ @end deftypefn") | |
static bool | isargout1 (int nargout, const Matrix &ignored, double k) |
static bool | val_in_table (const Matrix &table, double val) |
Variables | |
static bool | Voptimize_subsasgn_calls = true |
DEFINE_OCTAVE_ALLOCATOR | ( | octave_user_script | ) |
DEFINE_OCTAVE_ALLOCATOR | ( | octave_user_function | ) |
DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA | ( | octave_user_script | , | |
"user-defined script" | , | |||
"user-defined script" | ||||
) |
DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA | ( | octave_user_function | , | |
"user-defined function" | , | |||
"user-defined function" | ||||
) |
DEFUN | ( | optimize_subsasgn_calls | , | |
args | , | |||
nargout | ||||
) |
Definition at line 777 of file ov-usr-fcn.cc.
References SET_INTERNAL_VARIABLE.
DEFUN | ( | nargout | , | |
args | ||||
) |
Definition at line 698 of file ov-usr-fcn.cc.
References symbol_table::at_top_level(), error(), error_state, symbol_table::find_user_function(), octave_value::is_undefined(), octave_base_list< elt_type >::length(), print_usage(), octave_user_function::return_list(), octave_user_function::takes_var_return(), octave_value::user_function_value(), and symbol_table::varval().
DEFUN | ( | nargin | , | |
args | ||||
) |
Definition at line 632 of file ov-usr-fcn.cc.
References error(), error_state, symbol_table::find_function(), octave_value::is_undefined(), octave_value::is_user_function(), octave_base_list< elt_type >::length(), octave_user_function::parameter_list(), print_usage(), octave_user_function::takes_varargs(), octave_value::user_function_value(), and symbol_table::varval().
DEFUN | ( | isargout | , | |
args | ||||
) |
Definition at line 814 of file ov-usr-fcn.cc.
References symbol_table::at_top_level(), Array< T >::dims(), error(), error_state, gripe_wrong_type_arg(), octave_value::int_value(), octave_value::is_defined(), isargout1(), octave_value::matrix_value(), Array< T >::numel(), print_usage(), and symbol_table::varval().
Definition at line 803 of file ov-usr-fcn.cc.
References error(), val_in_table(), and xround().
Referenced by DEFUN().
Definition at line 794 of file ov-usr-fcn.cc.
References ASCENDING, Array< T >::is_empty(), and Array< T >::lookup().
Referenced by isargout1().
bool Voptimize_subsasgn_calls = true [static] |
Definition at line 56 of file ov-usr-fcn.cc.
Referenced by octave_user_function::subsasgn_optimization_ok().