GNU Octave  9.1.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"

Go to the source code of this file.

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)
 
#define FORWARD_DECLARE_STATIC_FUN(name)    FORWARD_DECLARE_STATIC_FUNX (F ## name)
 
#define FORWARD_DECLARE_STATIC_FUNX(name)
 
#define FORWARD_DECLARE_STATIC_METHOD(name)    FORWARD_DECLARE_STATIC_METHODX (F ## name)
 
#define FORWARD_DECLARE_STATIC_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

void check_version (const std::string &version, const std::string &fcn)
 
dynamic_library get_current_shlib (void)
 
void install_dld_function (octave_dld_function::fcn f, const std::string &name, const dynamic_library &shl, const std::string &doc, bool relative=false)
 
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)
 
void install_dld_function (octave_dld_function::meth m, const std::string &name, const dynamic_library &shl, const std::string &doc, bool relative=false)
 
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)
 
void install_mex_function (void *fptr, bool fmex, const std::string &name, const dynamic_library &shl, bool relative=false)
 
void install_mex_function (void *fptr, bool fmex, const std::string &name, const octave::dynamic_library &shl, bool relative=false)
 
void print_usage (const std::string &)
 
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 141 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)

Definition at line 132 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 144 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 136 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 170 of file defun-int.h.

◆ DECLARE_STATIC_FUNX

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

Definition at line 161 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 173 of file defun-int.h.

◆ DECLARE_STATIC_METHODX

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

Definition at line 165 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 189 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:117
#define OCTAVE_API_VERSION
Definition: version.h:49

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

◆ FORWARD_DECLARE_FUN

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

Definition at line 126 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 118 of file defun-int.h.

◆ FORWARD_DECLARE_METHOD

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

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

◆ FORWARD_DECLARE_METHODX

#define FORWARD_DECLARE_METHODX (   name)
Value:
extern OCTAVE_EXPORT octave_value_list \
name (octave::interpreter&, const octave_value_list&, int)

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

◆ FORWARD_DECLARE_STATIC_FUN

#define FORWARD_DECLARE_STATIC_FUN (   name)     FORWARD_DECLARE_STATIC_FUNX (F ## name)

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

◆ FORWARD_DECLARE_STATIC_FUNX

#define FORWARD_DECLARE_STATIC_FUNX (   name)
Value:
static octave_value_list \
name (const octave_value_list&, int)

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

◆ FORWARD_DECLARE_STATIC_METHOD

#define FORWARD_DECLARE_STATIC_METHOD (   name)     FORWARD_DECLARE_STATIC_METHODX (F ## name)

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

◆ FORWARD_DECLARE_STATIC_METHODX

#define FORWARD_DECLARE_STATIC_METHODX (   name)
Value:
static octave_value_list \
name (octave::interpreter&, const octave_value_list&, int)

Definition at line 151 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 182 of file defun-int.h.

◆ octave_dld_fcn_installer

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

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

Function Documentation

◆ check_version()

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

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

◆ get_current_shlib()

octave::dynamic_library get_current_shlib ( void  )
inline

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

◆ install_dld_function() [1/4]

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

◆ install_dld_function() [2/4]

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 
)
inline

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

References f, and install_dld_function().

◆ install_dld_function() [3/4]

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

◆ install_dld_function() [4/4]

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 
)
inline

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

References install_dld_function(), and m.

◆ install_mex_function() [1/2]

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

◆ install_mex_function() [2/2]

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

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

References install_mex_function().

◆ print_usage() [1/2]

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

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

References print_usage().

◆ print_usage() [2/2]

void print_usage ( void  )
inline

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

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