Functions | Variables

ov-usr-fcn.cc File Reference

#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"
Include dependency graph for ov-usr-fcn.cc:

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

Function Documentation

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   
)
DEFUN ( nargin  ,
args   
)
DEFUN ( isargout  ,
args   
)
static bool isargout1 ( int  nargout,
const Matrix ignored,
double  k 
) [static]

Definition at line 803 of file ov-usr-fcn.cc.

References error(), val_in_table(), and xround().

Referenced by DEFUN().

static bool val_in_table ( const Matrix table,
double  val 
) [static]

Definition at line 794 of file ov-usr-fcn.cc.

References ASCENDING, Array< T >::is_empty(), and Array< T >::lookup().

Referenced by isargout1().


Variable Documentation

bool Voptimize_subsasgn_calls = true [static]

Definition at line 56 of file ov-usr-fcn.cc.

Referenced by octave_user_function::subsasgn_optimization_ok().

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines