GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
mex.cc File Reference
#include <cstdarg>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <limits>
#include <map>
#include <set>
#include <string>
#include "f77-fcn.h"
#include "lo-ieee.h"
#include "oct-locbuf.h"
#include "quit.h"
#include "Cell.h"
#include "error.h"
#include "interpreter-private.h"
#include "interpreter.h"
#include "mxarray.h"
#include "mexproto.h"
#include "oct-map.h"
#include "ovl.h"
#include "ov.h"
#include "ov-classdef.h"
#include "ov-mex-fcn.h"
#include "ov-usr-fcn.h"
#include "pager.h"
#include "unwind-prot.h"
#include "utils.h"
#include "variables.h"
#include "graphics.h"

Go to the source code of this file.

Macros

#define CONST_MUTATION_METHOD(RET_TYPE, FCN_NAME, ARG_LIST, RET_VAL)    RET_TYPE FCN_NAME ARG_LIST const { request_mutation (); return RET_VAL; }
 
#define CONST_VOID_MUTATION_METHOD(FCN_NAME, ARG_LIST)    void FCN_NAME ARG_LIST const { request_mutation (); }
 
#define GET_DATA_METHOD(RT, FCN_NAME, ID, COMPLEXITY)    RT * FCN_NAME (void) const { return get_data<RT> (ID, COMPLEXITY); }
 
#define MUTATION_METHOD(RET_TYPE, FCN_NAME, ARG_LIST, RET_VAL)    RET_TYPE FCN_NAME ARG_LIST { request_mutation (); return RET_VAL; }
 
#define VOID_MUTATION_METHOD(FCN_NAME, ARG_LIST)    void FCN_NAME ARG_LIST { request_mutation (); }
 

Typedefs

typedef void(* cmex_fptr) (int nlhs, mxArray **plhs, int nrhs, mxArray **prhs)
 
typedef F77_RET_T(* fmex_fptr) (F77_INT &nlhs, mxArray **plhs, F77_INT &nrhs, mxArray **prhs)
 

Functions

octave_value_list call_mex (octave_mex_function &mex_fcn, const octave_value_list &args, int nargout_arg)
 
int mexAtExit (void(*f)(void))
 
int mexCallMATLAB (int nargout, mxArray *argout[], int nargin, mxArray *argin[], const char *fname)
 
mxArraymexCallMATLABWithTrap (int nargout, mxArray *argout[], int nargin, mxArray *argin[], const char *fname)
 
void mexErrMsgIdAndTxt (const char *id, const char *fmt,...)
 
void mexErrMsgTxt (const char *s)
 
int mexEvalString (const char *s)
 
mxArraymexEvalStringWithTrap (const char *s)
 
const char * mexFunctionName (void)
 
const mxArraymexGet (double handle, const char *property)
 
const mxArraymexGet_interleaved (double handle, const char *property)
 
mxArraymexGetVariable (const char *space, const char *name)
 
const mxArraymexGetVariablePtr (const char *space, const char *name)
 
int mexIsGlobal (const mxArray *ptr)
 
int mexIsLocked (void)
 
void mexLock (void)
 
void mexMakeArrayPersistent (mxArray *ptr)
 
void mexMakeMemoryPersistent (void *ptr)
 
int mexPrintf (const char *fmt,...)
 
int mexPutVariable (const char *space, const char *name, const mxArray *ptr)
 
int mexSet (double handle, const char *property, mxArray *val)
 
void mexSetTrapFlag (int flag)
 
void mexUnlock (void)
 
void mexWarnMsgIdAndTxt (const char *id, const char *fmt,...)
 
void mexWarnMsgTxt (const char *s)
 
int mxAddField (mxArray *ptr, const char *key)
 
char * mxArrayToString (const mxArray *ptr)
 
mwIndex mxCalcSingleSubscript (const mxArray *ptr, mwSize nsubs, mwIndex *subs)
 
void * mxCalloc (std::size_t n, std::size_t size)
 
mxArraymxCreateCellArray (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateCellArray_interleaved (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateCellMatrix (mwSize m, mwSize n)
 
mxArraymxCreateCellMatrix_interleaved (mwSize m, mwSize n)
 
mxArraymxCreateCharArray (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateCharArray_interleaved (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateCharMatrixFromStrings (mwSize m, const char **str)
 
mxArraymxCreateCharMatrixFromStrings_interleaved (mwSize m, const char **str)
 
mxArraymxCreateDoubleMatrix (mwSize nr, mwSize nc, mxComplexity flag)
 
mxArraymxCreateDoubleMatrix_interleaved (mwSize nr, mwSize nc, mxComplexity flag)
 
mxArraymxCreateDoubleScalar (double val)
 
mxArraymxCreateDoubleScalar_interleaved (double val)
 
mxArraymxCreateLogicalArray (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateLogicalArray_interleaved (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateLogicalMatrix (mwSize m, mwSize n)
 
mxArraymxCreateLogicalMatrix_interleaved (mwSize m, mwSize n)
 
mxArraymxCreateLogicalScalar (mxLogical val)
 
mxArraymxCreateLogicalScalar_interleaved (mxLogical val)
 
mxArraymxCreateNumericArray (mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateNumericArray_interleaved (mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateNumericMatrix (mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateNumericMatrix_interleaved (mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateSparse (mwSize m, mwSize n, mwSize nzmax, mxComplexity flag)
 
mxArraymxCreateSparse_interleaved (mwSize m, mwSize n, mwSize nzmax, mxComplexity flag)
 
mxArraymxCreateSparseLogicalMatrix (mwSize m, mwSize n, mwSize nzmax)
 
mxArraymxCreateSparseLogicalMatrix_interleaved (mwSize m, mwSize n, mwSize nzmax)
 
mxArraymxCreateString (const char *str)
 
mxArraymxCreateString_interleaved (const char *str)
 
mxArraymxCreateStructArray (mwSize ndims, const mwSize *dims, int num_keys, const char **keys)
 
mxArraymxCreateStructArray_interleaved (mwSize ndims, const mwSize *dims, int num_keys, const char **keys)
 
mxArraymxCreateStructMatrix (mwSize rows, mwSize cols, int num_keys, const char **keys)
 
mxArraymxCreateStructMatrix_interleaved (mwSize rows, mwSize cols, int num_keys, const char **keys)
 
mxArraymxCreateUninitNumericArray (mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateUninitNumericArray_interleaved (mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateUninitNumericMatrix (mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateUninitNumericMatrix_interleaved (mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
 
void mxDestroyArray (mxArray *ptr)
 
mxArraymxDuplicateArray (const mxArray *ptr)
 
void mxFree (void *ptr)
 
mxArraymxGetCell (const mxArray *ptr, mwIndex idx)
 
mxCharmxGetChars (const mxArray *ptr)
 
mxClassID mxGetClassID (const mxArray *ptr)
 
const char * mxGetClassName (const mxArray *ptr)
 
mxComplexDoublemxGetComplexDoubles (const mxArray *p)
 
mxComplexSinglemxGetComplexSingles (const mxArray *p)
 
void * mxGetData (const mxArray *ptr)
 
const mwSizemxGetDimensions (const mxArray *ptr)
 
mxDoublemxGetDoubles (const mxArray *p)
 
std::size_t mxGetElementSize (const mxArray *ptr)
 
double mxGetEps (void)
 
mxArraymxGetField (const mxArray *ptr, mwIndex index, const char *key)
 
mxArraymxGetFieldByNumber (const mxArray *ptr, mwIndex index, int key_num)
 
const char * mxGetFieldNameByNumber (const mxArray *ptr, int key_num)
 
int mxGetFieldNumber (const mxArray *ptr, const char *key)
 
void * mxGetImagData (const mxArray *ptr)
 
double mxGetInf (void)
 
mxInt16mxGetInt16s (const mxArray *p)
 
mxInt32mxGetInt32s (const mxArray *p)
 
mxInt64mxGetInt64s (const mxArray *p)
 
mxInt8mxGetInt8s (const mxArray *p)
 
mwIndexmxGetIr (const mxArray *ptr)
 
mwIndexmxGetJc (const mxArray *ptr)
 
mxLogicalmxGetLogicals (const mxArray *ptr)
 
std::size_t mxGetM (const mxArray *ptr)
 
std::size_t mxGetN (const mxArray *ptr)
 
double mxGetNaN (void)
 
mwSize mxGetNumberOfDimensions (const mxArray *ptr)
 
std::size_t mxGetNumberOfElements (const mxArray *ptr)
 
int mxGetNumberOfFields (const mxArray *ptr)
 
mwSize mxGetNzmax (const mxArray *ptr)
 
double * mxGetPi (const mxArray *ptr)
 
double * mxGetPr (const mxArray *ptr)
 
mxArraymxGetProperty (const mxArray *ptr, mwIndex idx, const char *property_name)
 
double mxGetScalar (const mxArray *ptr)
 
mxSinglemxGetSingles (const mxArray *p)
 
int mxGetString (const mxArray *ptr, char *buf, mwSize buflen)
 
mxUint16mxGetUint16s (const mxArray *p)
 
mxUint32mxGetUint32s (const mxArray *p)
 
mxUint64mxGetUint64s (const mxArray *p)
 
mxUint8mxGetUint8s (const mxArray *p)
 
bool mxIsCell (const mxArray *ptr)
 
bool mxIsChar (const mxArray *ptr)
 
bool mxIsClass (const mxArray *ptr, const char *name)
 
bool mxIsComplex (const mxArray *ptr)
 
bool mxIsDouble (const mxArray *ptr)
 
bool mxIsEmpty (const mxArray *ptr)
 
bool mxIsFinite (const double v)
 
bool mxIsFromGlobalWS (const mxArray *)
 
bool mxIsFunctionHandle (const mxArray *ptr)
 
bool mxIsInf (const double v)
 
bool mxIsInt16 (const mxArray *ptr)
 
bool mxIsInt32 (const mxArray *ptr)
 
bool mxIsInt64 (const mxArray *ptr)
 
bool mxIsInt8 (const mxArray *ptr)
 
bool mxIsLogical (const mxArray *ptr)
 
bool mxIsLogicalScalar (const mxArray *ptr)
 
bool mxIsLogicalScalarTrue (const mxArray *ptr)
 
bool mxIsNaN (const double v)
 
bool mxIsNumeric (const mxArray *ptr)
 
bool mxIsScalar (const mxArray *ptr)
 
bool mxIsSingle (const mxArray *ptr)
 
bool mxIsSparse (const mxArray *ptr)
 
bool mxIsStruct (const mxArray *ptr)
 
bool mxIsUint16 (const mxArray *ptr)
 
bool mxIsUint32 (const mxArray *ptr)
 
bool mxIsUint64 (const mxArray *ptr)
 
bool mxIsUint8 (const mxArray *ptr)
 
int mxMakeArrayComplex (mxArray *ptr)
 
int mxMakeArrayReal (mxArray *ptr)
 
void * mxMalloc (std::size_t n)
 
void * mxRealloc (void *ptr, std::size_t size)
 
void mxRemoveField (mxArray *ptr, int key_num)
 
void mxSetCell (mxArray *ptr, mwIndex idx, mxArray *val)
 
void mxSetClassName (mxArray *ptr, const char *name)
 
int mxSetComplexDoubles (mxArray *p, mxComplexDouble *d)
 
int mxSetComplexSingles (mxArray *p, mxComplexSingle *d)
 
void mxSetData (mxArray *ptr, void *pr)
 
int mxSetDimensions (mxArray *ptr, const mwSize *dims, mwSize ndims)
 
int mxSetDoubles (mxArray *p, mxDouble *d)
 
void mxSetField (mxArray *ptr, mwIndex index, const char *key, mxArray *val)
 
void mxSetFieldByNumber (mxArray *ptr, mwIndex index, int key_num, mxArray *val)
 
void mxSetImagData (mxArray *ptr, void *pi)
 
int mxSetInt16s (mxArray *p, mxInt16 *d)
 
int mxSetInt32s (mxArray *p, mxInt32 *d)
 
int mxSetInt64s (mxArray *p, mxInt64 *d)
 
int mxSetInt8s (mxArray *p, mxInt8 *d)
 
void mxSetIr (mxArray *ptr, mwIndex *ir)
 
void mxSetJc (mxArray *ptr, mwIndex *jc)
 
void mxSetM (mxArray *ptr, mwSize m)
 
void mxSetN (mxArray *ptr, mwSize n)
 
void mxSetNzmax (mxArray *ptr, mwSize nzmax)
 
void mxSetPi (mxArray *ptr, double *pi)
 
void mxSetPr (mxArray *ptr, double *pr)
 
void mxSetProperty (mxArray *ptr, mwIndex idx, const char *property_name, const mxArray *property_value)
 
int mxSetSingles (mxArray *p, mxSingle *d)
 
int mxSetUint16s (mxArray *p, mxUint16 *d)
 
int mxSetUint32s (mxArray *p, mxUint32 *d)
 
int mxSetUint64s (mxArray *p, mxUint64 *d)
 
int mxSetUint8s (mxArray *p, mxUint8 *d)
 

Variables

mex * mex_context = nullptr
 
std::map< std::string, int > mex_lock_count
 

Macro Definition Documentation

◆ CONST_MUTATION_METHOD

#define CONST_MUTATION_METHOD (   RET_TYPE,
  FCN_NAME,
  ARG_LIST,
  RET_VAL 
)     RET_TYPE FCN_NAME ARG_LIST const { request_mutation (); return RET_VAL; }

Definition at line 441 of file mex.cc.

◆ CONST_VOID_MUTATION_METHOD

#define CONST_VOID_MUTATION_METHOD (   FCN_NAME,
  ARG_LIST 
)     void FCN_NAME ARG_LIST const { request_mutation (); }

Definition at line 435 of file mex.cc.

◆ GET_DATA_METHOD

#define GET_DATA_METHOD (   RT,
  FCN_NAME,
  ID,
  COMPLEXITY 
)     RT * FCN_NAME (void) const { return get_data<RT> (ID, COMPLEXITY); }

Definition at line 444 of file mex.cc.

◆ MUTATION_METHOD

#define MUTATION_METHOD (   RET_TYPE,
  FCN_NAME,
  ARG_LIST,
  RET_VAL 
)     RET_TYPE FCN_NAME ARG_LIST { request_mutation (); return RET_VAL; }

Definition at line 438 of file mex.cc.

◆ VOID_MUTATION_METHOD

#define VOID_MUTATION_METHOD (   FCN_NAME,
  ARG_LIST 
)     void FCN_NAME ARG_LIST { request_mutation (); }

Definition at line 432 of file mex.cc.

Typedef Documentation

◆ cmex_fptr

typedef void(* cmex_fptr) (int nlhs, mxArray **plhs, int nrhs, mxArray **prhs)

Definition at line 4462 of file mex.cc.

◆ fmex_fptr

typedef F77_RET_T(* fmex_fptr) (F77_INT &nlhs, mxArray **plhs, F77_INT &nrhs, mxArray **prhs)

Definition at line 4463 of file mex.cc.

Function Documentation

◆ call_mex()

◆ mexAtExit()

int mexAtExit ( void(*)(void)  f)

Definition at line 4988 of file mex.cc.

References octave_mex_function::atexit(), f, and mex_context.

◆ mexCallMATLAB()

int mexCallMATLAB ( int  nargout,
mxArray argout[],
int  nargin,
mxArray argin[],
const char *  fname 
)

Definition at line 4579 of file mex.cc.

Referenced by mexCallMATLABWithTrap().

◆ mexCallMATLABWithTrap()

mxArray* mexCallMATLABWithTrap ( int  nargout,
mxArray argout[],
int  nargin,
mxArray argin[],
const char *  fname 
)

◆ mexErrMsgIdAndTxt()

void mexErrMsgIdAndTxt ( const char *  id,
const char *  fmt,
  ... 
)

Definition at line 4767 of file mex.cc.

References error(), len, mexFunctionName(), OCTAVE_LOCAL_BUFFER, strlen(), and verror_with_id().

◆ mexErrMsgTxt()

void mexErrMsgTxt ( const char *  s)

Definition at line 4744 of file mex.cc.

References error(), len, mexFunctionName(), and strlen().

Referenced by mexGetVariable(), mexPutVariable(), and mxIsFromGlobalWS().

◆ mexEvalString()

int mexEvalString ( const char *  s)

Definition at line 4677 of file mex.cc.

References __get_interpreter__().

◆ mexEvalStringWithTrap()

mxArray* mexEvalStringWithTrap ( const char *  s)

◆ mexFunctionName()

const char* mexFunctionName ( void  )

Definition at line 4544 of file mex.cc.

References mex_context.

Referenced by mexErrMsgIdAndTxt(), mexErrMsgTxt(), mexIsLocked(), mexLock(), mexUnlock(), and mexWarnMsgIdAndTxt().

◆ mexGet()

const mxArray* mexGet ( double  handle,
const char *  property 
)

◆ mexGet_interleaved()

const mxArray * mexGet_interleaved ( double  handle,
const char *  property 
)

◆ mexGetVariable()

mxArray* mexGetVariable ( const char *  space,
const char *  name 
)

◆ mexGetVariablePtr()

const mxArray* mexGetVariablePtr ( const char *  space,
const char *  name 
)

Definition at line 4893 of file mex.cc.

References mexGetVariable().

◆ mexIsGlobal()

int mexIsGlobal ( const mxArray ptr)

Definition at line 5029 of file mex.cc.

References mxIsFromGlobalWS().

◆ mexIsLocked()

int mexIsLocked ( void  )

Definition at line 5035 of file mex.cc.

References __get_interpreter__(), mex_context, and mexFunctionName().

◆ mexLock()

void mexLock ( void  )

Definition at line 5054 of file mex.cc.

References __get_interpreter__(), mex_context, mex_lock_count, and mexFunctionName().

◆ mexMakeArrayPersistent()

void mexMakeArrayPersistent ( mxArray ptr)

Definition at line 4976 of file mex.cc.

◆ mexMakeMemoryPersistent()

void mexMakeMemoryPersistent ( void *  ptr)

Definition at line 4982 of file mex.cc.

◆ mexPrintf()

int mexPrintf ( const char *  fmt,
  ... 
)

Definition at line 4831 of file mex.cc.

References octave_stdout, and octave::vformat().

◆ mexPutVariable()

int mexPutVariable ( const char *  space,
const char *  name,
const mxArray ptr 
)

◆ mexSet()

int mexSet ( double  handle,
const char *  property,
mxArray val 
)

Definition at line 5072 of file mex.cc.

References mxArray::as_octave_value(), and set_property_in_handle().

◆ mexSetTrapFlag()

void mexSetTrapFlag ( int  flag)

Definition at line 4670 of file mex.cc.

References mex_context.

Referenced by mexCallMATLABWithTrap().

◆ mexUnlock()

void mexUnlock ( void  )

Definition at line 5093 of file mex.cc.

References __get_interpreter__(), mex_context, mex_lock_count, and mexFunctionName().

◆ mexWarnMsgIdAndTxt()

void mexWarnMsgIdAndTxt ( const char *  id,
const char *  fmt,
  ... 
)

Definition at line 4812 of file mex.cc.

References len, mexFunctionName(), OCTAVE_LOCAL_BUFFER, strlen(), and vwarning_with_id().

◆ mexWarnMsgTxt()

void mexWarnMsgTxt ( const char *  s)

Definition at line 4789 of file mex.cc.

References len, strlen(), and warning().

◆ mxAddField()

int mxAddField ( mxArray ptr,
const char *  key 
)

Definition at line 4381 of file mex.cc.

References mxArray::add_field().

◆ mxArrayToString()

char* mxArrayToString ( const mxArray ptr)

Definition at line 4443 of file mex.cc.

References mxArray::array_to_string().

◆ mxCalcSingleSubscript()

mwIndex mxCalcSingleSubscript ( const mxArray ptr,
mwSize  nsubs,
mwIndex subs 
)

Definition at line 4449 of file mex.cc.

References mxArray::calc_single_subscript().

◆ mxCalloc()

void* mxCalloc ( std::size_t  n,
std::size_t  size 
)

Definition at line 3597 of file mex.cc.

References mex_context, and n.

◆ mxCreateCellArray()

mxArray * mxCreateCellArray ( mwSize  ndims,
const mwSize dims 
)

Definition at line 3638 of file mex.cc.

◆ mxCreateCellArray_interleaved()

mxArray * mxCreateCellArray_interleaved ( mwSize  ndims,
const mwSize dims 
)

Definition at line 3632 of file mex.cc.

◆ mxCreateCellMatrix()

mxArray * mxCreateCellMatrix ( mwSize  m,
mwSize  n 
)

Definition at line 3650 of file mex.cc.

Referenced by mexCallMATLABWithTrap(), and mexEvalStringWithTrap().

◆ mxCreateCellMatrix_interleaved()

mxArray * mxCreateCellMatrix_interleaved ( mwSize  m,
mwSize  n 
)

Definition at line 3644 of file mex.cc.

◆ mxCreateCharArray()

mxArray * mxCreateCharArray ( mwSize  ndims,
const mwSize dims 
)

Definition at line 3662 of file mex.cc.

◆ mxCreateCharArray_interleaved()

mxArray * mxCreateCharArray_interleaved ( mwSize  ndims,
const mwSize dims 
)

Definition at line 3656 of file mex.cc.

◆ mxCreateCharMatrixFromStrings()

mxArray * mxCreateCharMatrixFromStrings ( mwSize  m,
const char **  str 
)

Definition at line 3674 of file mex.cc.

◆ mxCreateCharMatrixFromStrings_interleaved()

mxArray * mxCreateCharMatrixFromStrings_interleaved ( mwSize  m,
const char **  str 
)

Definition at line 3668 of file mex.cc.

◆ mxCreateDoubleMatrix()

mxArray * mxCreateDoubleMatrix ( mwSize  nr,
mwSize  nc,
mxComplexity  flag 
)

Definition at line 3686 of file mex.cc.

◆ mxCreateDoubleMatrix_interleaved()

mxArray * mxCreateDoubleMatrix_interleaved ( mwSize  nr,
mwSize  nc,
mxComplexity  flag 
)

Definition at line 3680 of file mex.cc.

◆ mxCreateDoubleScalar()

mxArray * mxCreateDoubleScalar ( double  val)

Definition at line 3698 of file mex.cc.

◆ mxCreateDoubleScalar_interleaved()

mxArray * mxCreateDoubleScalar_interleaved ( double  val)

Definition at line 3692 of file mex.cc.

◆ mxCreateLogicalArray()

mxArray * mxCreateLogicalArray ( mwSize  ndims,
const mwSize dims 
)

Definition at line 3710 of file mex.cc.

◆ mxCreateLogicalArray_interleaved()

mxArray * mxCreateLogicalArray_interleaved ( mwSize  ndims,
const mwSize dims 
)

Definition at line 3704 of file mex.cc.

◆ mxCreateLogicalMatrix()

mxArray * mxCreateLogicalMatrix ( mwSize  m,
mwSize  n 
)

Definition at line 3722 of file mex.cc.

◆ mxCreateLogicalMatrix_interleaved()

mxArray * mxCreateLogicalMatrix_interleaved ( mwSize  m,
mwSize  n 
)

Definition at line 3716 of file mex.cc.

◆ mxCreateLogicalScalar()

mxArray * mxCreateLogicalScalar ( mxLogical  val)

Definition at line 3734 of file mex.cc.

◆ mxCreateLogicalScalar_interleaved()

mxArray * mxCreateLogicalScalar_interleaved ( mxLogical  val)

Definition at line 3728 of file mex.cc.

◆ mxCreateNumericArray()

mxArray * mxCreateNumericArray ( mwSize  ndims,
const mwSize dims,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3747 of file mex.cc.

◆ mxCreateNumericArray_interleaved()

mxArray * mxCreateNumericArray_interleaved ( mwSize  ndims,
const mwSize dims,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3740 of file mex.cc.

◆ mxCreateNumericMatrix()

mxArray * mxCreateNumericMatrix ( mwSize  m,
mwSize  n,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3761 of file mex.cc.

◆ mxCreateNumericMatrix_interleaved()

mxArray * mxCreateNumericMatrix_interleaved ( mwSize  m,
mwSize  n,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3754 of file mex.cc.

◆ mxCreateSparse()

mxArray * mxCreateSparse ( mwSize  m,
mwSize  n,
mwSize  nzmax,
mxComplexity  flag 
)

Definition at line 3805 of file mex.cc.

◆ mxCreateSparse_interleaved()

mxArray * mxCreateSparse_interleaved ( mwSize  m,
mwSize  n,
mwSize  nzmax,
mxComplexity  flag 
)

Definition at line 3798 of file mex.cc.

◆ mxCreateSparseLogicalMatrix()

mxArray * mxCreateSparseLogicalMatrix ( mwSize  m,
mwSize  n,
mwSize  nzmax 
)

Definition at line 3818 of file mex.cc.

◆ mxCreateSparseLogicalMatrix_interleaved()

mxArray * mxCreateSparseLogicalMatrix_interleaved ( mwSize  m,
mwSize  n,
mwSize  nzmax 
)

Definition at line 3812 of file mex.cc.

◆ mxCreateString()

mxArray * mxCreateString ( const char *  str)

Definition at line 3830 of file mex.cc.

Referenced by mexCallMATLABWithTrap(), and mexEvalStringWithTrap().

◆ mxCreateString_interleaved()

mxArray * mxCreateString_interleaved ( const char *  str)

Definition at line 3824 of file mex.cc.

◆ mxCreateStructArray()

mxArray * mxCreateStructArray ( mwSize  ndims,
const mwSize dims,
int  num_keys,
const char **  keys 
)

Definition at line 3843 of file mex.cc.

◆ mxCreateStructArray_interleaved()

mxArray * mxCreateStructArray_interleaved ( mwSize  ndims,
const mwSize dims,
int  num_keys,
const char **  keys 
)

Definition at line 3836 of file mex.cc.

◆ mxCreateStructMatrix()

mxArray * mxCreateStructMatrix ( mwSize  rows,
mwSize  cols,
int  num_keys,
const char **  keys 
)

Definition at line 3857 of file mex.cc.

Referenced by mexCallMATLABWithTrap(), and mexEvalStringWithTrap().

◆ mxCreateStructMatrix_interleaved()

mxArray * mxCreateStructMatrix_interleaved ( mwSize  rows,
mwSize  cols,
int  num_keys,
const char **  keys 
)

Definition at line 3850 of file mex.cc.

◆ mxCreateUninitNumericArray()

mxArray * mxCreateUninitNumericArray ( mwSize  ndims,
const mwSize dims,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3776 of file mex.cc.

◆ mxCreateUninitNumericArray_interleaved()

mxArray * mxCreateUninitNumericArray_interleaved ( mwSize  ndims,
const mwSize dims,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3768 of file mex.cc.

◆ mxCreateUninitNumericMatrix()

mxArray * mxCreateUninitNumericMatrix ( mwSize  m,
mwSize  n,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3791 of file mex.cc.

◆ mxCreateUninitNumericMatrix_interleaved()

mxArray * mxCreateUninitNumericMatrix_interleaved ( mwSize  m,
mwSize  n,
mxClassID  class_id,
mxComplexity  flag 
)

Definition at line 3784 of file mex.cc.

◆ mxDestroyArray()

void mxDestroyArray ( mxArray ptr)

Definition at line 3872 of file mex.cc.

References mex_context.

◆ mxDuplicateArray()

mxArray* mxDuplicateArray ( const mxArray ptr)

Definition at line 3865 of file mex.cc.

◆ mxFree()

void mxFree ( void *  ptr)

Definition at line 3616 of file mex.cc.

References mex_context.

Referenced by mxArray::~mxArray(), and mxArray::set_name().

◆ mxGetCell()

mxArray* mxGetCell ( const mxArray ptr,
mwIndex  idx 
)

Definition at line 4331 of file mex.cc.

References mxArray::get_cell().

◆ mxGetChars()

mxChar* mxGetChars ( const mxArray ptr)

Definition at line 4096 of file mex.cc.

References mxArray::get_data(), and mxIsChar().

◆ mxGetClassID()

mxClassID mxGetClassID ( const mxArray ptr)

Definition at line 4299 of file mex.cc.

References mxArray::get_class_id().

◆ mxGetClassName()

const char* mxGetClassName ( const mxArray ptr)

Definition at line 4305 of file mex.cc.

References mxArray::get_class_name().

◆ mxGetComplexDoubles()

mxComplexDouble * mxGetComplexDoubles ( const mxArray p)

Definition at line 4189 of file mex.cc.

References mxArray::get_complex_doubles().

◆ mxGetComplexSingles()

mxComplexSingle * mxGetComplexSingles ( const mxArray p)

Definition at line 4195 of file mex.cc.

References mxArray::get_complex_singles().

◆ mxGetData()

void* mxGetData ( const mxArray ptr)

Definition at line 4111 of file mex.cc.

References mxArray::get_data().

◆ mxGetDimensions()

const mwSize* mxGetDimensions ( const mxArray ptr)

Definition at line 4044 of file mex.cc.

References mxArray::get_dimensions().

◆ mxGetDoubles()

mxDouble * mxGetDoubles ( const mxArray p)

Definition at line 4129 of file mex.cc.

References mxArray::get_doubles().

◆ mxGetElementSize()

std::size_t mxGetElementSize ( const mxArray ptr)

Definition at line 4455 of file mex.cc.

References mxArray::get_element_size().

◆ mxGetEps()

double mxGetEps ( void  )

Definition at line 3578 of file mex.cc.

◆ mxGetField()

mxArray* mxGetField ( const mxArray ptr,
mwIndex  index,
const char *  key 
)

Definition at line 4393 of file mex.cc.

References mxGetFieldByNumber(), and mxGetFieldNumber().

◆ mxGetFieldByNumber()

mxArray* mxGetFieldByNumber ( const mxArray ptr,
mwIndex  index,
int  key_num 
)

Definition at line 4400 of file mex.cc.

References mxArray::get_field_by_number().

Referenced by mxGetField().

◆ mxGetFieldNameByNumber()

const char* mxGetFieldNameByNumber ( const mxArray ptr,
int  key_num 
)

Definition at line 4425 of file mex.cc.

References mxArray::get_field_name_by_number().

◆ mxGetFieldNumber()

int mxGetFieldNumber ( const mxArray ptr,
const char *  key 
)

Definition at line 4431 of file mex.cc.

References mxArray::get_field_number().

Referenced by mxGetField(), and mxSetField().

◆ mxGetImagData()

void * mxGetImagData ( const mxArray ptr)

Definition at line 4123 of file mex.cc.

References mxArray::get_imag_data().

◆ mxGetInf()

double mxGetInf ( void  )

Definition at line 3584 of file mex.cc.

References lo_ieee_inf_value().

◆ mxGetInt16s()

mxInt16 * mxGetInt16s ( const mxArray p)

Definition at line 4147 of file mex.cc.

References mxArray::get_int16s().

◆ mxGetInt32s()

mxInt32 * mxGetInt32s ( const mxArray p)

Definition at line 4153 of file mex.cc.

References mxArray::get_int32s().

◆ mxGetInt64s()

mxInt64 * mxGetInt64s ( const mxArray p)

Definition at line 4159 of file mex.cc.

References mxArray::get_int64s().

◆ mxGetInt8s()

mxInt8 * mxGetInt8s ( const mxArray p)

Definition at line 4141 of file mex.cc.

References mxArray::get_int8s().

◆ mxGetIr()

mwIndex* mxGetIr ( const mxArray ptr)

Definition at line 4344 of file mex.cc.

References mxArray::get_ir().

◆ mxGetJc()

mwIndex* mxGetJc ( const mxArray ptr)

Definition at line 4350 of file mex.cc.

References mxArray::get_jc().

◆ mxGetLogicals()

mxLogical* mxGetLogicals ( const mxArray ptr)

Definition at line 4105 of file mex.cc.

References mxArray::get_data().

◆ mxGetM()

std::size_t mxGetM ( const mxArray ptr)

Definition at line 4032 of file mex.cc.

References mxArray::get_m().

◆ mxGetN()

std::size_t mxGetN ( const mxArray ptr)

Definition at line 4038 of file mex.cc.

References mxArray::get_n().

◆ mxGetNaN()

double mxGetNaN ( void  )

Definition at line 3590 of file mex.cc.

References lo_ieee_nan_value().

◆ mxGetNumberOfDimensions()

mwSize mxGetNumberOfDimensions ( const mxArray ptr)

Definition at line 4050 of file mex.cc.

References mxArray::get_number_of_dimensions().

◆ mxGetNumberOfElements()

std::size_t mxGetNumberOfElements ( const mxArray ptr)

Definition at line 4056 of file mex.cc.

References mxArray::get_number_of_elements().

◆ mxGetNumberOfFields()

int mxGetNumberOfFields ( const mxArray ptr)

Definition at line 4419 of file mex.cc.

References mxArray::get_number_of_fields().

◆ mxGetNzmax()

mwSize mxGetNzmax ( const mxArray ptr)

Definition at line 4356 of file mex.cc.

References mxArray::get_nzmax().

◆ mxGetPi()

double * mxGetPi ( const mxArray ptr)

Definition at line 4117 of file mex.cc.

References mxArray::get_imag_data().

◆ mxGetPr()

double* mxGetPr ( const mxArray ptr)

Definition at line 4084 of file mex.cc.

References mxArray::get_data().

◆ mxGetProperty()

mxArray* mxGetProperty ( const mxArray ptr,
mwIndex  idx,
const char *  property_name 
)

Definition at line 4324 of file mex.cc.

References mxArray::get_property().

◆ mxGetScalar()

double mxGetScalar ( const mxArray ptr)

Definition at line 4090 of file mex.cc.

References mxArray::get_scalar().

◆ mxGetSingles()

mxSingle * mxGetSingles ( const mxArray p)

Definition at line 4135 of file mex.cc.

References mxArray::get_singles().

◆ mxGetString()

int mxGetString ( const mxArray ptr,
char *  buf,
mwSize  buflen 
)

Definition at line 4437 of file mex.cc.

References mxArray::get_string().

◆ mxGetUint16s()

mxUint16 * mxGetUint16s ( const mxArray p)

Definition at line 4171 of file mex.cc.

References mxArray::get_uint16s().

◆ mxGetUint32s()

mxUint32 * mxGetUint32s ( const mxArray p)

Definition at line 4177 of file mex.cc.

References mxArray::get_uint32s().

◆ mxGetUint64s()

mxUint64 * mxGetUint64s ( const mxArray p)

Definition at line 4183 of file mex.cc.

References mxArray::get_uint64s().

◆ mxGetUint8s()

mxUint8 * mxGetUint8s ( const mxArray p)

Definition at line 4165 of file mex.cc.

References mxArray::get_uint8s().

◆ mxIsCell()

bool mxIsCell ( const mxArray ptr)

Definition at line 3880 of file mex.cc.

References mxArray::iscell().

◆ mxIsChar()

bool mxIsChar ( const mxArray ptr)

Definition at line 3886 of file mex.cc.

References mxArray::is_char().

Referenced by mxGetChars().

◆ mxIsClass()

bool mxIsClass ( const mxArray ptr,
const char *  name 
)

Definition at line 3892 of file mex.cc.

References mxArray::is_class().

◆ mxIsComplex()

bool mxIsComplex ( const mxArray ptr)

Definition at line 3898 of file mex.cc.

References mxArray::is_complex().

◆ mxIsDouble()

bool mxIsDouble ( const mxArray ptr)

Definition at line 3904 of file mex.cc.

References mxArray::is_double().

◆ mxIsEmpty()

bool mxIsEmpty ( const mxArray ptr)

Definition at line 4009 of file mex.cc.

References mxArray::isempty().

◆ mxIsFinite()

bool mxIsFinite ( const double  v)

Definition at line 3560 of file mex.cc.

References lo_ieee_isfinite.

◆ mxIsFromGlobalWS()

bool mxIsFromGlobalWS ( const mxArray ptr)

Definition at line 4023 of file mex.cc.

References mexErrMsgTxt().

Referenced by mexIsGlobal().

◆ mxIsFunctionHandle()

bool mxIsFunctionHandle ( const mxArray ptr)

Definition at line 3910 of file mex.cc.

References mxArray::is_function_handle().

◆ mxIsInf()

bool mxIsInf ( const double  v)

Definition at line 3566 of file mex.cc.

References lo_ieee_isinf.

◆ mxIsInt16()

bool mxIsInt16 ( const mxArray ptr)

Definition at line 3916 of file mex.cc.

References mxArray::is_int16().

◆ mxIsInt32()

bool mxIsInt32 ( const mxArray ptr)

Definition at line 3922 of file mex.cc.

References mxArray::is_int32().

◆ mxIsInt64()

bool mxIsInt64 ( const mxArray ptr)

Definition at line 3928 of file mex.cc.

References mxArray::is_int64().

◆ mxIsInt8()

bool mxIsInt8 ( const mxArray ptr)

Definition at line 3934 of file mex.cc.

References mxArray::is_int8().

◆ mxIsLogical()

bool mxIsLogical ( const mxArray ptr)

Definition at line 3940 of file mex.cc.

References mxArray::is_logical().

◆ mxIsLogicalScalar()

bool mxIsLogicalScalar ( const mxArray ptr)

Definition at line 3995 of file mex.cc.

References mxArray::is_logical_scalar().

◆ mxIsLogicalScalarTrue()

bool mxIsLogicalScalarTrue ( const mxArray ptr)

Definition at line 4002 of file mex.cc.

References mxArray::is_logical_scalar_true().

◆ mxIsNaN()

bool mxIsNaN ( const double  v)

Definition at line 3572 of file mex.cc.

References lo_ieee_isnan.

◆ mxIsNumeric()

bool mxIsNumeric ( const mxArray ptr)

Definition at line 3946 of file mex.cc.

References mxArray::is_numeric().

◆ mxIsScalar()

bool mxIsScalar ( const mxArray ptr)

Definition at line 4015 of file mex.cc.

References mxArray::is_scalar().

◆ mxIsSingle()

bool mxIsSingle ( const mxArray ptr)

Definition at line 3952 of file mex.cc.

References mxArray::is_single().

◆ mxIsSparse()

bool mxIsSparse ( const mxArray ptr)

Definition at line 3958 of file mex.cc.

References mxArray::is_sparse().

◆ mxIsStruct()

bool mxIsStruct ( const mxArray ptr)

Definition at line 3964 of file mex.cc.

References mxArray::is_struct().

◆ mxIsUint16()

bool mxIsUint16 ( const mxArray ptr)

Definition at line 3970 of file mex.cc.

References mxArray::is_uint16().

◆ mxIsUint32()

bool mxIsUint32 ( const mxArray ptr)

Definition at line 3976 of file mex.cc.

References mxArray::is_uint32().

◆ mxIsUint64()

bool mxIsUint64 ( const mxArray ptr)

Definition at line 3982 of file mex.cc.

References mxArray::is_uint64().

◆ mxIsUint8()

bool mxIsUint8 ( const mxArray ptr)

Definition at line 3988 of file mex.cc.

References mxArray::is_uint8().

◆ mxMakeArrayComplex()

int mxMakeArrayComplex ( mxArray ptr)

◆ mxMakeArrayReal()

int mxMakeArrayReal ( mxArray ptr)

◆ mxMalloc()

void* mxMalloc ( std::size_t  n)

Definition at line 3603 of file mex.cc.

References mex_context, and n.

◆ mxRealloc()

void* mxRealloc ( void *  ptr,
std::size_t  size 
)

Definition at line 3609 of file mex.cc.

References mex_context.

◆ mxRemoveField()

void mxRemoveField ( mxArray ptr,
int  key_num 
)

Definition at line 4387 of file mex.cc.

References mxArray::remove_field().

◆ mxSetCell()

void mxSetCell ( mxArray ptr,
mwIndex  idx,
mxArray val 
)

Definition at line 4337 of file mex.cc.

References mxArray::set_cell().

◆ mxSetClassName()

void mxSetClassName ( mxArray ptr,
const char *  name 
)

Definition at line 4311 of file mex.cc.

References mxArray::set_class_name().

◆ mxSetComplexDoubles()

int mxSetComplexDoubles ( mxArray p,
mxComplexDouble d 
)

Definition at line 4274 of file mex.cc.

References mxArray::set_complex_doubles().

◆ mxSetComplexSingles()

int mxSetComplexSingles ( mxArray p,
mxComplexSingle d 
)

Definition at line 4280 of file mex.cc.

References mxArray::set_complex_singles().

◆ mxSetData()

void mxSetData ( mxArray ptr,
void *  pr 
)

Definition at line 4208 of file mex.cc.

References mxArray::set_data().

◆ mxSetDimensions()

int mxSetDimensions ( mxArray ptr,
const mwSize dims,
mwSize  ndims 
)

Definition at line 4075 of file mex.cc.

References mxArray::set_dimensions().

◆ mxSetDoubles()

int mxSetDoubles ( mxArray p,
mxDouble d 
)

Definition at line 4214 of file mex.cc.

References mxArray::set_doubles().

◆ mxSetField()

void mxSetField ( mxArray ptr,
mwIndex  index,
const char *  key,
mxArray val 
)

Definition at line 4406 of file mex.cc.

References mxGetFieldNumber(), and mxSetFieldByNumber().

◆ mxSetFieldByNumber()

void mxSetFieldByNumber ( mxArray ptr,
mwIndex  index,
int  key_num,
mxArray val 
)

Definition at line 4413 of file mex.cc.

References mxArray::set_field_by_number().

Referenced by mexCallMATLABWithTrap(), mexEvalStringWithTrap(), and mxSetField().

◆ mxSetImagData()

void mxSetImagData ( mxArray ptr,
void *  pi 
)

Definition at line 4292 of file mex.cc.

◆ mxSetInt16s()

int mxSetInt16s ( mxArray p,
mxInt16 d 
)

Definition at line 4232 of file mex.cc.

References mxArray::set_int16s().

◆ mxSetInt32s()

int mxSetInt32s ( mxArray p,
mxInt32 d 
)

Definition at line 4238 of file mex.cc.

References mxArray::set_int32s().

◆ mxSetInt64s()

int mxSetInt64s ( mxArray p,
mxInt64 d 
)

Definition at line 4244 of file mex.cc.

References mxArray::set_int64s().

◆ mxSetInt8s()

int mxSetInt8s ( mxArray p,
mxInt8 d 
)

Definition at line 4226 of file mex.cc.

References mxArray::set_int8s().

◆ mxSetIr()

void mxSetIr ( mxArray ptr,
mwIndex ir 
)

Definition at line 4362 of file mex.cc.

References mxArray::set_ir().

◆ mxSetJc()

void mxSetJc ( mxArray ptr,
mwIndex jc 
)

Definition at line 4368 of file mex.cc.

References mxArray::set_jc().

◆ mxSetM()

void mxSetM ( mxArray ptr,
mwSize  m 
)

Definition at line 4063 of file mex.cc.

References m, and mxArray::set_m().

◆ mxSetN()

void mxSetN ( mxArray ptr,
mwSize  n 
)

Definition at line 4069 of file mex.cc.

References n, and mxArray::set_n().

◆ mxSetNzmax()

void mxSetNzmax ( mxArray ptr,
mwSize  nzmax 
)

Definition at line 4374 of file mex.cc.

References mxArray::set_nzmax().

◆ mxSetPi()

void mxSetPi ( mxArray ptr,
double *  pi 
)

Definition at line 4286 of file mex.cc.

◆ mxSetPr()

void mxSetPr ( mxArray ptr,
double *  pr 
)

Definition at line 4202 of file mex.cc.

References mxArray::set_data().

◆ mxSetProperty()

void mxSetProperty ( mxArray ptr,
mwIndex  idx,
const char *  property_name,
const mxArray property_value 
)

Definition at line 4317 of file mex.cc.

References mxArray::set_property().

◆ mxSetSingles()

int mxSetSingles ( mxArray p,
mxSingle d 
)

Definition at line 4220 of file mex.cc.

References mxArray::set_singles().

◆ mxSetUint16s()

int mxSetUint16s ( mxArray p,
mxUint16 d 
)

Definition at line 4256 of file mex.cc.

References mxArray::set_uint16s().

◆ mxSetUint32s()

int mxSetUint32s ( mxArray p,
mxUint32 d 
)

Definition at line 4262 of file mex.cc.

References mxArray::set_uint32s().

◆ mxSetUint64s()

int mxSetUint64s ( mxArray p,
mxUint64 d 
)

Definition at line 4268 of file mex.cc.

References mxArray::set_uint64s().

◆ mxSetUint8s()

int mxSetUint8s ( mxArray p,
mxUint8 d 
)

Definition at line 4250 of file mex.cc.

References mxArray::set_uint8s().

Variable Documentation

◆ mex_context

◆ mex_lock_count

std::map<std::string, int> mex_lock_count

Definition at line 5051 of file mex.cc.

Referenced by mexLock(), and mexUnlock().