GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
defun-int.h File Reference
#include "octave-config.h"
#include <string>
#include "ov-builtin.h"
#include "ov-dld-fcn.h"
#include "version.h"
Include dependency graph for defun-int.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  octave::auto_shlib
 

Namespaces

 octave
 

Macros

#define DECLARE_FUN(name, args_name, nargout_name)    DECLARE_FUNX (F ## name, args_name, nargout_name)
 
#define DECLARE_FUNX(name, args_name, nargout_name)
 
#define DECLARE_METHOD(name, interp_name, args_name, nargout_name)    DECLARE_METHODX (F ## name, interp_name, args_name, nargout_name)
 
#define DECLARE_METHODX(name, interp_name, args_name, nargout_name)
 
#define DECLARE_STATIC_FUN(name, args_name, nargout_name)    DECLARE_STATIC_FUNX (F ## name, args_name, nargout_name)
 
#define DECLARE_STATIC_FUNX(name, args_name, nargout_name)
 
#define DECLARE_STATIC_METHOD(name, interp_name, args_name, nargout_name)    DECLARE_STATIC_METHODX (F ## name, interp_name, args_name, nargout_name)
 
#define DECLARE_STATIC_METHODX(name, interp_name, args_name, nargout_name)
 
#define DEFINE_FUN_INSTALLER_FUN(name, doc)    DEFINE_FUNX_INSTALLER_FUN(#name, F ## name, G ## name, doc)
 
#define DEFINE_FUNX_INSTALLER_FUN(name, fname, gname, doc)
 
#define FORWARD_DECLARE_FUN(name)    FORWARD_DECLARE_FUNX (F ## name)
 
#define FORWARD_DECLARE_FUNX(name)
 
#define FORWARD_DECLARE_METHOD(name)    FORWARD_DECLARE_METHODX (F ## name)
 
#define FORWARD_DECLARE_METHODX(name)
 

Typedefs

typedef octave_function *(* octave_dld_fcn_getter) (const octave::dynamic_library &, bool relative)
 
typedef bool(* octave_dld_fcn_installer) (const octave::dynamic_library &, bool relative)
 

Functions

OCTINTERP_API void check_version (const std::string &version, const std::string &fcn)
 
OCTINTERP_API octave::dynamic_library get_current_shlib (void)
 
OCTINTERP_API void install_dld_function (octave_dld_function::fcn f, const std::string &name, const octave::dynamic_library &shl, const std::string &doc, bool relative=false)
 
OCTINTERP_API void install_dld_function (octave_dld_function::meth m, const std::string &name, const octave::dynamic_library &shl, const std::string &doc, bool relative=false)
 
OCTINTERP_API void install_mex_function (void *fptr, bool fmex, const std::string &name, const octave::dynamic_library &shl, bool relative=false)
 
OCTINTERP_API void print_usage (const std::string &)
 
OCTINTERP_API void print_usage (void)
 

Macro Definition Documentation

◆ DECLARE_FUN

#define DECLARE_FUN (   name,
  args_name,
  nargout_name 
)     DECLARE_FUNX (F ## name, args_name, nargout_name)

Definition at line 109 of file defun-int.h.

◆ DECLARE_FUNX

#define DECLARE_FUNX (   name,
  args_name,
  nargout_name 
)
Value:
OCTAVE_EXPORT octave_value_list \
name (const octave_value_list& args_name, int nargout_name)
QString name

Definition at line 100 of file defun-int.h.

◆ DECLARE_METHOD

#define DECLARE_METHOD (   name,
  interp_name,
  args_name,
  nargout_name 
)     DECLARE_METHODX (F ## name, interp_name, args_name, nargout_name)

Definition at line 112 of file defun-int.h.

◆ DECLARE_METHODX

#define DECLARE_METHODX (   name,
  interp_name,
  args_name,
  nargout_name 
)
Value:
OCTAVE_EXPORT octave_value_list \
name (octave::interpreter& interp_name, \
const octave_value_list& args_name, int nargout_name)

Definition at line 104 of file defun-int.h.

◆ DECLARE_STATIC_FUN

#define DECLARE_STATIC_FUN (   name,
  args_name,
  nargout_name 
)     DECLARE_STATIC_FUNX (F ## name, args_name, nargout_name)

Definition at line 124 of file defun-int.h.

◆ DECLARE_STATIC_FUNX

#define DECLARE_STATIC_FUNX (   name,
  args_name,
  nargout_name 
)
Value:
name (const octave_value_list& args_name, int nargout_name)

Definition at line 115 of file defun-int.h.

◆ DECLARE_STATIC_METHOD

#define DECLARE_STATIC_METHOD (   name,
  interp_name,
  args_name,
  nargout_name 
)     DECLARE_STATIC_METHODX (F ## name, interp_name, args_name, nargout_name)

Definition at line 127 of file defun-int.h.

◆ DECLARE_STATIC_METHODX

#define DECLARE_STATIC_METHODX (   name,
  interp_name,
  args_name,
  nargout_name 
)
Value:
name (octave::interpreter& interp_name, \
const octave_value_list& args_name, int nargout_name)

Definition at line 119 of file defun-int.h.

◆ DEFINE_FUN_INSTALLER_FUN

#define DEFINE_FUN_INSTALLER_FUN (   name,
  doc 
)     DEFINE_FUNX_INSTALLER_FUN(#name, F ## name, G ## name, doc)

Definition at line 143 of file defun-int.h.

◆ DEFINE_FUNX_INSTALLER_FUN

#define DEFINE_FUNX_INSTALLER_FUN (   name,
  fname,
  gname,
  doc 
)
Value:
extern "C" \
OCTAVE_EXPORT \
octave_function * \
gname (const octave::dynamic_library& shl, bool relative) \
{ \
check_version (OCTAVE_API_VERSION, name); \
\
octave_dld_function *fcn \
= octave_dld_function::create (fname, shl, name, doc); \
\
if (relative) \
fcn->mark_relative (); \
\
return fcn; \
}
static octave_dld_function * create(octave_builtin::fcn ff, const octave::dynamic_library &shl, const std::string &nm="", const std::string &ds="")
Definition: ov-dld-fcn.cc:109
#define OCTAVE_API_VERSION
Definition: version.in.h:49

Definition at line 147 of file defun-int.h.

◆ FORWARD_DECLARE_FUN

#define FORWARD_DECLARE_FUN (   name)     FORWARD_DECLARE_FUNX (F ## name)

Definition at line 94 of file defun-int.h.

◆ FORWARD_DECLARE_FUNX

#define FORWARD_DECLARE_FUNX (   name)
Value:
extern OCTAVE_EXPORT octave_value_list \
name (const octave_value_list&, int)

Definition at line 86 of file defun-int.h.

◆ FORWARD_DECLARE_METHOD

#define FORWARD_DECLARE_METHOD (   name)     FORWARD_DECLARE_METHODX (F ## name)

Definition at line 97 of file defun-int.h.

◆ FORWARD_DECLARE_METHODX

#define FORWARD_DECLARE_METHODX (   name)
Value:
extern OCTAVE_EXPORT octave_value_list \

Definition at line 90 of file defun-int.h.

Typedef Documentation

◆ octave_dld_fcn_getter

typedef octave_function*(* octave_dld_fcn_getter) (const octave::dynamic_library &, bool relative)

Definition at line 136 of file defun-int.h.

◆ octave_dld_fcn_installer

typedef bool(* octave_dld_fcn_installer) (const octave::dynamic_library &, bool relative)

Definition at line 134 of file defun-int.h.

Function Documentation

◆ check_version()

OCTINTERP_API void check_version ( const std::string &  version,
const std::string &  fcn 
)

Definition at line 72 of file defun.cc.

References error(), and OCTAVE_API_VERSION.

◆ get_current_shlib()

◆ install_dld_function() [1/2]

OCTINTERP_API void install_dld_function ( octave_dld_function::fcn  f,
const std::string &  name,
const octave::dynamic_library shl,
const std::string &  doc,
bool  relative = false 
)

◆ install_dld_function() [2/2]

OCTINTERP_API void install_dld_function ( octave_dld_function::meth  m,
const std::string &  name,
const octave::dynamic_library shl,
const std::string &  doc,
bool  relative = false 
)

◆ install_mex_function()

OCTINTERP_API void install_mex_function ( void *  fptr,
bool  fmex,
const std::string &  name,
const octave::dynamic_library shl,
bool  relative = false 
)

◆ print_usage() [1/2]

OCTINTERP_API void print_usage ( const std::string &  name)

Definition at line 66 of file defun.cc.

References octave::feval(), and name.

◆ print_usage() [2/2]

OCTINTERP_API void print_usage ( void  )

Definition at line 53 of file defun.cc.

References octave::__get_evaluator__(), octave::tree_evaluator::current_function(), error(), octave_function::name(), and print_usage().

Referenced by binary_assoc_op_defun_body(), binary_op_defun_body(), bitop(), const_value(), DEFMETHOD(), DEFMETHODX(), do_accumarray_minmax_fun(), do_bessel(), do_cat(), do_cumminmax_body(), do_dbstack(), do_fft(), do_fft2(), do_fftn(), do_minmax_body(), do_permute(), do_trilu(), octave::tree_evaluator::echo(), octave::tree_evaluator::evaluate_end_expression(), F__accumarray_sum__(), F__accumdim_sum__(), F__betainc__(), F__calc_dimensions__(), F__contourc__(), F__db_next_breakpoint_quiet__(), F__delaunayn__(), F__dsearchn__(), F__dump_symtab_info__(), F__dump_typeinfo__(), F__eigs__(), F__expint__(), F__fnmatch__(), F__ftp__(), F__gammainc__(), F__get__(), F__get_cmdline_fcn_txt__(), F__get_frame__(), F__get_system_fonts__(), F__glpk__(), F__go_delete__(), F__go_execute_callback__(), F__go_figure__(), F__go_post_callback__(), F__ichol0__(), F__icholt__(), F__ilu0__(), F__iluc__(), F__ilutp__(), F__image_pixel_size__(), F__is_elevated_process__(), F__is_handle_visible__(), F__lin_interpn__(), F__magick_finfo__(), F__magick_formats__(), F__magick_ping__(), F__magick_read__(), F__magick_write__(), F__meta_get_package__(), F__mkdir__(), F__native2unicode__(), F__octave_config_info__(), F__ode15__(), F__open_with_system_app__(), F__parent_classes__(), F__parse_file__(), F__profiler_data__(), F__profiler_enable__(), F__profiler_reset__(), F__qp__(), F__restful_service__(), F__show_figure__(), F__sort_rows_idx__(), F__textscan__(), F__u8_validate__(), F__unicode2native__(), F__update_normals__(), F__varval__(), F__version_info__(), F__voronoi__(), F__zoom__(), Fabs(), Facos(), Facosh(), Faddlistener(), Faddpath(), Faddproperty(), Fairy(), Fall(), Famd(), Fangle(), Fany(), Farg(), Fargv(), Farrayfun(), Fasin(), Fasinh(), Fassignin(), Fatan(), Fatan2(), Fatanh(), Fatexit(), Faudiodevinfo(), Faudioformats(), Faudioinfo(), Faudioread(), Faudiowrite(), Fautoload(), Fbalance(), Fbase64_decode(), Fbase64_encode(), Fbesselh(), Fbitpack(), Fbitshift(), Fbitunpack(), Fblkmm(), Fbsxfun(), Fbuiltin(), Fcanonicalize_file_name(), Fcat(), Fcbrt(), Fccolamd(), Fcd(), Fceil(), Fcell2struct(), Fcellfun(), Fcellindexmat(), Fcellslices(), Fcellstr(), Fchol(), Fchol2inv(), Fcholdelete(), Fcholinsert(), Fcholinv(), Fcholshift(), Fcholupdate(), Fclass(), Fclear(), Fcolamd(), Fcolloc(), Fcolon(), Fcolumns(), Fcommand_line_path(), Fcommandhistory(), Fcommandwindow(), Fcomplex(), Fconj(), Fconv2(), Fconvhulln(), Fconvn(), Fcos(), Fcosh(), Fcputime(), Fcsymamd(), Fcumsum(), Fdaspk_options(), Fdasrt_options(), Fdassl_options(), Fdawson(), Fdbcont(), Fdbquit(), Fdbstep(), Fdbstop(), Fdellistener(), Fdet(), Fdiag(), Fdiary(), Fdiff(), Fdir_in_loadpath(), Fdisp(), Fdisplay(), Fdlmread(), Fdmperm(), Fdo_string_escapes(), Fdot(), Fdrawnow(), Fdup2(), Fedit_history(), Feig(), Fellipj(), Fendgrent(), Fendpwent(), Ferf(), Ferfc(), Ferfcinv(), Ferfcx(), Ferfi(), Ferfinv(), Ferrno(), Ferrno_list(), Ferror(), Fetree(), Feval(), Fevalc(), Fevalin(), Fexec(), Fexist(), Fexp(), Fexpm1(), Feye(), Ffclear(), Ffclose(), Ffcntl(), Ffdisp(), Ffeof(), Fferror(), Ffeval(), Ffflush(), Ffftw(), Ffgetl(), Ffgets(), Ffile_in_loadpath(), Ffile_in_path(), Ffilebrowser(), Ffilesep(), Ffilter(), Ffind(), Ffix(), Fflintmax(), Ffloor(), Ffopen(), Ffork(), Ffread(), Ffrewind(), Ffseek(), Ffskipl(), Fftell(), Ffull(), Ffunc2str(), Ffunctions(), Ffwrite(), Fgamma(), Fgcd(), Fgenpath(), Fget(), Fgetegid(), Fgetenv(), Fgeteuid(), Fgetgid(), Fgetgrent(), Fgetgrgid(), Fgetgrnam(), Fgethostname(), Fgetpgrp(), Fgetpid(), Fgetppid(), Fgetpwent(), Fgetpwnam(), Fgetpwuid(), Fgetuid(), Fgivens(), Fglob(), Fgmtime(), Fgsvd(), Fhash(), Fhess(), Fhex2num(), Fhypot(), Fignore_function_time_stamp(), Fimag(), Find2sub(), Fintmax(), Fintmin(), Finv(), Fis_absolute_filename(), Fis_dq_string(), Fis_function_handle(), Fis_rooted_relative_filename(), Fis_same_file(), Fis_sq_string(), Fisa(), Fisalnum(), Fisalpha(), Fisargout(), Fisascii(), Fiscell(), Fiscellstr(), Fischar(), Fiscntrl(), Fiscolumn(), Fiscomplex(), Fisdebugmode(), Fisdigit(), Fisempty(), Fisfield(), Fisfinite(), Fisfloat(), Fisglobal(), Fisgraph(), Fisguirunning(), Fishghandle(), Fisindex(), Fisinf(), Fisinteger(), Fiskeyword(), Fislogical(), Fislower(), Fismatrix(), Fisna(), Fisnan(), Fisnull(), Fisnumeric(), Fisobject(), Fisprint(), Fispunct(), Fisreal(), Fisrow(), Fisscalar(), Fissorted(), Fisspace(), Fissparse(), Fissquare(), Fisstruct(), Fisstudent(), Fisupper(), Fisvarname(), Fisvector(), Fisxdigit(), Fkill(), Fkron(), Flasterr(), Flasterror(), Flastwarn(), Flength(), Flgamma(), Flink(), Flinspace(), Flist_in_columns(), Flocaltime(), Flog(), Flog10(), Flog1p(), Flog2(), Flogical(), Flookup(), Flsode_options(), Flstat(), Flu(), Fluupdate(), Fmake_absolute_filename(), Fmat2cell(), Fmatrix_type(), Fmerge(), Fmetaclass(), Fmfilename(), Fmgorth(), Fmislocked(), Fmkfifo(), Fmkstemp(), Fmktime(), Fmlock(), Fmod(), Fmore(), Fmunlock(), Fnargin(), Fnargout(), Fndims(), Fnewline(), Fnnz(), Fnorm(), Fnproc(), Fnth_element(), Fnum2cell(), Fnum2hex(), Fnumel(), Fnumfields(), Fnzmax(), FOCTAVE_EXEC_HOME(), FOCTAVE_HOME(), FOCTAVE_VERSION(), FonCleanup(), Fopenvar(), Fordschur(), FP_tmpdir(), Fpathsep(), Fpause(), Fpclose(), Fpinv(), Fpipe(), Fpopen(), Fpopen2(), Fprod(), Fprogram_invocation_name(), Fprogram_name(), Fproperties(), Fpsi(), Fqr(), Fqrdelete(), Fqrinsert(), Fqrshift(), Fqrupdate(), Fquad_options(), Fquadcc(), Fquit(), Fqz(), Frandperm(), Frats(), Frcond(), Freaddir(), Freadlink(), Freal(), Fregexp(), Fregexpi(), Fregexprep(), Fregister_graphics_toolkit(), Frem(), Frename(), Frepelems(), Freset(), Freshape(), Fresize(), Frestoredefaultpath(), Frethrow(), Frmdir(), Frmfield(), Frmpath(), Fround(), Froundb(), Frows(), Frsf2csf(), Frun_history(), FS_ISBLK(), FS_ISCHR(), FS_ISDIR(), FS_ISFIFO(), FS_ISLNK(), FS_ISREG(), FS_ISSOCK(), Fschur(), Fset(), Fsetenv(), Fsetgrent(), Fsetpwent(), FSIG(), Fsign(), Fsignbit(), Fsin(), Fsinh(), Fsize(), Fsizemax(), Fsizeof(), Fsort(), Fsource(), Fspalloc(), Fsparse(), Fsprank(), Fsprintf(), Fsqrt(), Fsqrtm(), Fsqueeze(), Fsscanf(), Fstat(), Fstr2double(), Fstr2func(), Fstrcmp(), Fstrcmpi(), Fstrfind(), Fstrftime(), Fstrncmp(), Fstrncmpi(), Fstrptime(), Fstrrep(), Fstruct2cell(), Fsub2ind(), Fsubsasgn(), Fsubsref(), Fsum(), Fsvd(), Fsylvester(), Fsymamd(), Fsymbfact(), Fsymlink(), Fsymrcm(), Fsystem(), Ftan(), Ftanh(), Ftempname(), Fterminal_size(), Ftilde_expand(), Ftime(), Ftmpfile(), Ftoc(), Ftolower(), Ftoupper(), Ftsearch(), Ftypecast(), Ftypeinfo(), Fumask(), Funame(), Fundo_string_escapes(), Funicode_idx(), Funlink(), Funsetenv(), Furlread(), Furlwrite(), Fvec(), Fwaitfor(), Fwaitpid(), FWCOREDUMP(), FWEXITSTATUS(), FWIFCONTINUED(), FWIFEXITED(), FWIFSIGNALED(), FWIFSTOPPED(), Fwinqueryreg(), Fworkspace(), FWSTOPSIG(), FWTERMSIG(), octave::load_save_system::load(), octave::bp_table::parse_dbfunction_params(), print_usage(), printf_internal(), puts_internal(), octave::load_save_system::save(), scanf_internal(), set_internal_variable(), streameuler2d_internal(), streameuler3d_internal(), textscan_internal(), unary_op_defun_body(), and octave::xzip().