GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Typedefs | Functions | Variables
mex.cc File Reference
#include <cfloat>
#include <csetjmp>
#include <cstdarg>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <set>
#include "f77-fcn.h"
#include "lo-ieee.h"
#include "oct-locbuf.h"
#include "Cell.h"
#include "call-stack.h"
#include "error.h"
#include "interpreter.h"
#include "mxarray.h"
#include "mexproto.h"
#include "oct-map.h"
#include "ovl.h"
#include "ov.h"
#include "ov-mex-fcn.h"
#include "ov-usr-fcn.h"
#include "pager.h"
#include "parse.h"
#include "unwind-prot.h"
#include "utils.h"
#include "variables.h"
#include "graphics.h"
Include dependency graph for mex.cc:

Go to the source code of this file.

Classes

class  mex
 
class  mxArray_cell
 
class  mxArray_matlab
 
class  mxArray_number
 
class  mxArray_octave_value
 
class  mxArray_sparse
 
class  mxArray_struct
 

Typedefs

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

Functions

static mwIndex calc_single_subscript_internal (mwSize ndims, const mwSize *dims, mwSize nsubs, const mwIndex *subs)
 
octave_value_list call_mex (bool have_fmex, void *f, const octave_value_list &args, int nargout_arg, octave_mex_function *curr_mex_fcn)
 
static mwSize max_str_len (mwSize m, const char **str)
 
static mxArraymaybe_mark_array (mxArray *ptr)
 
static void * maybe_mark_foreign (void *ptr)
 
static void * maybe_unmark (void *ptr)
 
static mxArraymaybe_unmark_array (mxArray *ptr)
 
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)
 
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 (size_t n, size_t size)
 
mxArraymxCreateCellArray (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateCellMatrix (mwSize m, mwSize n)
 
mxArraymxCreateCharArray (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateCharMatrixFromStrings (mwSize m, const char **str)
 
mxArraymxCreateDoubleMatrix (mwSize m, mwSize n, mxComplexity flag)
 
mxArraymxCreateDoubleScalar (double val)
 
mxArraymxCreateLogicalArray (mwSize ndims, const mwSize *dims)
 
mxArraymxCreateLogicalMatrix (mwSize m, mwSize n)
 
mxArraymxCreateLogicalScalar (mxLogical val)
 
mxArraymxCreateNumericArray (mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateNumericMatrix (mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateSparse (mwSize m, mwSize n, mwSize nzmax, mxComplexity flag)
 
mxArraymxCreateSparseLogicalMatrix (mwSize m, mwSize n, mwSize nzmax)
 
mxArraymxCreateString (const char *str)
 
mxArraymxCreateStructArray (mwSize ndims, const mwSize *dims, int num_keys, const char **keys)
 
mxArraymxCreateStructMatrix (mwSize m, mwSize n, int num_keys, const char **keys)
 
mxArraymxCreateUninitNumericArray (mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
 
mxArraymxCreateUninitNumericMatrix (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)
 
void * mxGetData (const mxArray *ptr)
 
const mwSizemxGetDimensions (const mxArray *ptr)
 
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)
 
mwIndexmxGetIr (const mxArray *ptr)
 
mwIndexmxGetJc (const mxArray *ptr)
 
mxLogicalmxGetLogicals (const mxArray *ptr)
 
size_t mxGetM (const mxArray *ptr)
 
size_t mxGetN (const mxArray *ptr)
 
double mxGetNaN (void)
 
mwSize mxGetNumberOfDimensions (const mxArray *ptr)
 
size_t mxGetNumberOfElements (const mxArray *ptr)
 
int mxGetNumberOfFields (const mxArray *ptr)
 
mwSize mxGetNzmax (const mxArray *ptr)
 
doublemxGetPi (const mxArray *ptr)
 
doublemxGetPr (const mxArray *ptr)
 
double mxGetScalar (const mxArray *ptr)
 
int mxGetString (const mxArray *ptr, char *buf, mwSize buflen)
 
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)
 
void * mxMalloc (size_t n)
 
void * mxRealloc (void *ptr, 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)
 
void mxSetData (mxArray *ptr, void *pr)
 
int mxSetDimensions (mxArray *ptr, const mwSize *dims, mwSize ndims)
 
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)
 
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)
 
static int valid_key (const char *key)
 
static void xfree (void *ptr)
 

Variables

mexmex_context = 0
 
std::map< std::string, intmex_lock_count
 

Typedef Documentation

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

Definition at line 3064 of file mex.cc.

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

Definition at line 3065 of file mex.cc.

Function Documentation

static mwIndex calc_single_subscript_internal ( mwSize  ndims,
const mwSize dims,
mwSize  nsubs,
const mwIndex subs 
)
static

Definition at line 110 of file mex.cc.

References retval.

Referenced by mxArray_octave_value::calc_single_subscript(), and mxArray_matlab::calc_single_subscript().

octave_value_list call_mex ( bool  have_fmex,
void *  f,
const octave_value_list args,
int  nargout_arg,
octave_mex_function curr_mex_fcn 
)
static mwSize max_str_len ( mwSize  m,
const char **  str 
)
static

Definition at line 68 of file mex.cc.

References m, strlen(), and tmp.

static mxArray* maybe_mark_array ( mxArray ptr)
inlinestatic
static void * maybe_mark_foreign ( void *  ptr)
inlinestatic
static void* maybe_unmark ( void *  ptr)
inlinestatic
static mxArray* maybe_unmark_array ( mxArray ptr)
inlinestatic
int mexAtExit ( void(*)(void)  f)

Definition at line 3483 of file mex.cc.

References octave_mex_function::atexit(), mex::current_mex_function(), and f.

int mexCallMATLAB ( int  nargout,
mxArray argout[],
int  nargin,
mxArray argin[],
const char *  fname 
)
mxArray* mexCallMATLABWithTrap ( int  nargout,
mxArray argout[],
int  nargin,
mxArray argin[],
const char *  fname 
)
void mexErrMsgIdAndTxt ( const char *  id,
const char *  fmt,
  ... 
)

Definition at line 3314 of file mex.cc.

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

void mexErrMsgTxt ( const char *  s)

Definition at line 3301 of file mex.cc.

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

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

int mexEvalString ( const char *  s)

Definition at line 3238 of file mex.cc.

References eval_string(), recover_from_exception(), and retval.

mxArray* mexEvalStringWithTrap ( const char *  s)
const char* mexFunctionName ( void  )
const mxArray* mexGet ( double  handle,
const char *  property 
)
mxArray* mexGetVariable ( const char *  space,
const char *  name 
)
const mxArray* mexGetVariablePtr ( const char *  space,
const char *  name 
)

Definition at line 3418 of file mex.cc.

References mexGetVariable().

int mexIsGlobal ( const mxArray ptr)

Definition at line 3511 of file mex.cc.

References mxIsFromGlobalWS().

int mexIsLocked ( void  )

Definition at line 3517 of file mex.cc.

References fname, mexFunctionName(), mislocked(), and retval.

void mexLock ( void  )

Definition at line 3534 of file mex.cc.

References fname, mexFunctionName(), and mlock().

void mexMakeArrayPersistent ( mxArray ptr)

Definition at line 3471 of file mex.cc.

References maybe_unmark_array().

void mexMakeMemoryPersistent ( void *  ptr)

Definition at line 3477 of file mex.cc.

References maybe_unmark().

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

Definition at line 3361 of file mex.cc.

References octave_stdout, octave_vformat(), and retval.

int mexPutVariable ( const char *  space,
const char *  name,
const mxArray ptr 
)
int mexSet ( double  handle,
const char *  property,
mxArray val 
)

Definition at line 3550 of file mex.cc.

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

void mexSetTrapFlag ( int  flag)

Definition at line 3231 of file mex.cc.

References mex::trap_feval_error.

Referenced by mexCallMATLABWithTrap().

void mexUnlock ( void  )

Definition at line 3559 of file mex.cc.

References fname, mexFunctionName(), munlock(), and p.

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

Definition at line 3342 of file mex.cc.

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

void mexWarnMsgTxt ( const char *  s)

Definition at line 3336 of file mex.cc.

References warning().

int mxAddField ( mxArray ptr,
const char *  key 
)

Definition at line 2983 of file mex.cc.

References mxArray::add_field().

char* mxArrayToString ( const mxArray ptr)

Definition at line 3045 of file mex.cc.

References mxArray::array_to_string().

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

Definition at line 3051 of file mex.cc.

References mxArray::calc_single_subscript().

void* mxCalloc ( size_t  n,
size_t  size 
)

Definition at line 2475 of file mex.cc.

References mex::calloc().

mxArray* mxCreateCellArray ( mwSize  ndims,
const mwSize dims 
)

Definition at line 2510 of file mex.cc.

References maybe_mark_array().

mxArray* mxCreateCellMatrix ( mwSize  m,
mwSize  n 
)

Definition at line 2516 of file mex.cc.

References maybe_mark_array().

Referenced by mexCallMATLABWithTrap(), and mexEvalStringWithTrap().

mxArray* mxCreateCharArray ( mwSize  ndims,
const mwSize dims 
)

Definition at line 2522 of file mex.cc.

References maybe_mark_array(), and mxCHAR_CLASS.

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

Definition at line 2528 of file mex.cc.

References maybe_mark_array().

mxArray* mxCreateDoubleMatrix ( mwSize  m,
mwSize  n,
mxComplexity  flag 
)

Definition at line 2534 of file mex.cc.

References maybe_mark_array(), and mxDOUBLE_CLASS.

mxArray* mxCreateDoubleScalar ( double  val)

Definition at line 2540 of file mex.cc.

References maybe_mark_array(), and mxDOUBLE_CLASS.

mxArray* mxCreateLogicalArray ( mwSize  ndims,
const mwSize dims 
)

Definition at line 2546 of file mex.cc.

References maybe_mark_array(), and mxLOGICAL_CLASS.

mxArray* mxCreateLogicalMatrix ( mwSize  m,
mwSize  n 
)

Definition at line 2552 of file mex.cc.

References maybe_mark_array(), and mxLOGICAL_CLASS.

mxArray* mxCreateLogicalScalar ( mxLogical  val)

Definition at line 2558 of file mex.cc.

References maybe_mark_array(), and mxLOGICAL_CLASS.

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

Definition at line 2564 of file mex.cc.

References maybe_mark_array().

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

Definition at line 2571 of file mex.cc.

References maybe_mark_array().

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

Definition at line 2592 of file mex.cc.

References maybe_mark_array(), and mxDOUBLE_CLASS.

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

Definition at line 2598 of file mex.cc.

References maybe_mark_array(), and mxLOGICAL_CLASS.

mxArray* mxCreateString ( const char *  str)

Definition at line 2604 of file mex.cc.

References maybe_mark_array().

Referenced by mexCallMATLABWithTrap(), and mexEvalStringWithTrap().

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

Definition at line 2610 of file mex.cc.

References maybe_mark_array().

mxArray* mxCreateStructMatrix ( mwSize  m,
mwSize  n,
int  num_keys,
const char **  keys 
)

Definition at line 2617 of file mex.cc.

References maybe_mark_array().

Referenced by mexCallMATLABWithTrap(), and mexEvalStringWithTrap().

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

Definition at line 2578 of file mex.cc.

References maybe_mark_array().

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

Definition at line 2585 of file mex.cc.

References maybe_mark_array().

void mxDestroyArray ( mxArray ptr)

Definition at line 2631 of file mex.cc.

References mex::free_value().

mxArray* mxDuplicateArray ( const mxArray ptr)

Definition at line 2624 of file mex.cc.

References mxArray::dup(), and maybe_mark_array().

void mxFree ( void *  ptr)
mxArray* mxGetCell ( const mxArray ptr,
mwIndex  idx 
)

Definition at line 2933 of file mex.cc.

References mxArray::get_cell().

mxChar* mxGetChars ( const mxArray ptr)

Definition at line 2861 of file mex.cc.

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

mxClassID mxGetClassID ( const mxArray ptr)

Definition at line 2914 of file mex.cc.

References mxArray::get_class_id().

const char* mxGetClassName ( const mxArray ptr)

Definition at line 2920 of file mex.cc.

References mxArray::get_class_name().

void* mxGetData ( const mxArray ptr)

Definition at line 2876 of file mex.cc.

References mxArray::get_data().

const mwSize* mxGetDimensions ( const mxArray ptr)

Definition at line 2803 of file mex.cc.

References mxArray::get_dimensions().

size_t mxGetElementSize ( const mxArray ptr)

Definition at line 3057 of file mex.cc.

References mxArray::get_element_size().

double mxGetEps ( void  )

Definition at line 2456 of file mex.cc.

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

Definition at line 2995 of file mex.cc.

References mxGetFieldByNumber(), and mxGetFieldNumber().

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

Definition at line 3002 of file mex.cc.

References mxArray::get_field_by_number().

Referenced by mxGetField().

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

Definition at line 3027 of file mex.cc.

References mxArray::get_field_name_by_number().

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

Definition at line 3033 of file mex.cc.

References mxArray::get_field_number().

Referenced by mxGetField(), and mxSetField().

void* mxGetImagData ( const mxArray ptr)

Definition at line 2882 of file mex.cc.

References mxArray::get_imag_data().

double mxGetInf ( void  )

Definition at line 2462 of file mex.cc.

References lo_ieee_inf_value().

mwIndex* mxGetIr ( const mxArray ptr)

Definition at line 2946 of file mex.cc.

References mxArray::get_ir().

mwIndex* mxGetJc ( const mxArray ptr)

Definition at line 2952 of file mex.cc.

References mxArray::get_jc().

mxLogical* mxGetLogicals ( const mxArray ptr)

Definition at line 2870 of file mex.cc.

References mxArray::get_data().

size_t mxGetM ( const mxArray ptr)

Definition at line 2791 of file mex.cc.

References mxArray::get_m().

size_t mxGetN ( const mxArray ptr)

Definition at line 2797 of file mex.cc.

References mxArray::get_n().

double mxGetNaN ( void  )

Definition at line 2468 of file mex.cc.

References lo_ieee_nan_value().

mwSize mxGetNumberOfDimensions ( const mxArray ptr)

Definition at line 2809 of file mex.cc.

References mxArray::get_number_of_dimensions().

size_t mxGetNumberOfElements ( const mxArray ptr)

Definition at line 2815 of file mex.cc.

References mxArray::get_number_of_elements().

int mxGetNumberOfFields ( const mxArray ptr)

Definition at line 3021 of file mex.cc.

References mxArray::get_number_of_fields().

mwSize mxGetNzmax ( const mxArray ptr)

Definition at line 2958 of file mex.cc.

References mxArray::get_nzmax().

double* mxGetPi ( const mxArray ptr)

Definition at line 2849 of file mex.cc.

References mxArray::get_imag_data().

double* mxGetPr ( const mxArray ptr)

Definition at line 2843 of file mex.cc.

References mxArray::get_data().

double mxGetScalar ( const mxArray ptr)

Definition at line 2855 of file mex.cc.

References mxArray::get_scalar().

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

Definition at line 3039 of file mex.cc.

References mxArray::get_string().

bool mxIsCell ( const mxArray ptr)

Definition at line 2639 of file mex.cc.

References mxArray::is_cell().

bool mxIsChar ( const mxArray ptr)

Definition at line 2645 of file mex.cc.

References mxArray::is_char().

Referenced by mxGetChars().

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

Definition at line 2651 of file mex.cc.

References mxArray::is_class().

bool mxIsComplex ( const mxArray ptr)

Definition at line 2657 of file mex.cc.

References mxArray::is_complex().

bool mxIsDouble ( const mxArray ptr)

Definition at line 2663 of file mex.cc.

References mxArray::is_double().

bool mxIsEmpty ( const mxArray ptr)

Definition at line 2768 of file mex.cc.

References mxArray::is_empty().

bool mxIsFinite ( const double  v)

Definition at line 2438 of file mex.cc.

References lo_ieee_finite.

bool mxIsFromGlobalWS ( const mxArray )

Definition at line 2782 of file mex.cc.

References mexErrMsgTxt().

Referenced by mexIsGlobal().

bool mxIsFunctionHandle ( const mxArray ptr)

Definition at line 2669 of file mex.cc.

References mxArray::is_function_handle().

bool mxIsInf ( const double  v)

Definition at line 2444 of file mex.cc.

References lo_ieee_isinf.

bool mxIsInt16 ( const mxArray ptr)

Definition at line 2675 of file mex.cc.

References mxArray::is_int16().

bool mxIsInt32 ( const mxArray ptr)

Definition at line 2681 of file mex.cc.

References mxArray::is_int32().

bool mxIsInt64 ( const mxArray ptr)

Definition at line 2687 of file mex.cc.

References mxArray::is_int64().

bool mxIsInt8 ( const mxArray ptr)

Definition at line 2693 of file mex.cc.

References mxArray::is_int8().

bool mxIsLogical ( const mxArray ptr)

Definition at line 2699 of file mex.cc.

References mxArray::is_logical().

bool mxIsLogicalScalar ( const mxArray ptr)

Definition at line 2754 of file mex.cc.

References mxArray::is_logical_scalar().

bool mxIsLogicalScalarTrue ( const mxArray ptr)

Definition at line 2761 of file mex.cc.

References mxArray::is_logical_scalar_true().

bool mxIsNaN ( const double  v)

Definition at line 2450 of file mex.cc.

References lo_ieee_isnan.

bool mxIsNumeric ( const mxArray ptr)

Definition at line 2705 of file mex.cc.

References mxArray::is_numeric().

bool mxIsScalar ( const mxArray ptr)

Definition at line 2774 of file mex.cc.

References mxArray::is_scalar().

bool mxIsSingle ( const mxArray ptr)

Definition at line 2711 of file mex.cc.

References mxArray::is_single().

bool mxIsSparse ( const mxArray ptr)

Definition at line 2717 of file mex.cc.

References mxArray::is_sparse().

bool mxIsStruct ( const mxArray ptr)

Definition at line 2723 of file mex.cc.

References mxArray::is_struct().

bool mxIsUint16 ( const mxArray ptr)

Definition at line 2729 of file mex.cc.

References mxArray::is_uint16().

bool mxIsUint32 ( const mxArray ptr)

Definition at line 2735 of file mex.cc.

References mxArray::is_uint32().

bool mxIsUint64 ( const mxArray ptr)

Definition at line 2741 of file mex.cc.

References mxArray::is_uint64().

bool mxIsUint8 ( const mxArray ptr)

Definition at line 2747 of file mex.cc.

References mxArray::is_uint8().

void* mxMalloc ( size_t  n)

Definition at line 2481 of file mex.cc.

References malloc(), and mex::malloc().

void* mxRealloc ( void *  ptr,
size_t  size 
)

Definition at line 2487 of file mex.cc.

References mex::realloc().

Referenced by mxArray_struct::add_field().

void mxRemoveField ( mxArray ptr,
int  key_num 
)

Definition at line 2989 of file mex.cc.

References mxArray::remove_field().

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

Definition at line 2939 of file mex.cc.

References mxArray::set_cell().

void mxSetClassName ( mxArray ptr,
const char *  name 
)

Definition at line 2926 of file mex.cc.

References mxArray::set_class_name().

void mxSetData ( mxArray ptr,
void *  pr 
)

Definition at line 2901 of file mex.cc.

References maybe_unmark(), and mxArray::set_data().

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

Definition at line 2834 of file mex.cc.

References maybe_unmark(), and mxArray::set_dimensions().

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

Definition at line 3008 of file mex.cc.

References mxGetFieldNumber(), and mxSetFieldByNumber().

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

Definition at line 3015 of file mex.cc.

References mxArray::set_field_by_number().

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

void mxSetImagData ( mxArray ptr,
void *  pi 
)

Definition at line 2907 of file mex.cc.

References maybe_unmark(), and mxArray::set_imag_data().

void mxSetIr ( mxArray ptr,
mwIndex ir 
)

Definition at line 2964 of file mex.cc.

References maybe_unmark(), and mxArray::set_ir().

void mxSetJc ( mxArray ptr,
mwIndex jc 
)

Definition at line 2970 of file mex.cc.

References maybe_unmark(), and mxArray::set_jc().

void mxSetM ( mxArray ptr,
mwSize  m 
)

Definition at line 2822 of file mex.cc.

References mxArray::set_m().

void mxSetN ( mxArray ptr,
mwSize  n 
)

Definition at line 2828 of file mex.cc.

References mxArray::set_n().

void mxSetNzmax ( mxArray ptr,
mwSize  nzmax 
)

Definition at line 2976 of file mex.cc.

References mxArray::set_nzmax().

void mxSetPi ( mxArray ptr,
double pi 
)

Definition at line 2895 of file mex.cc.

References maybe_unmark(), and mxArray::set_imag_data().

void mxSetPr ( mxArray ptr,
double pr 
)

Definition at line 2889 of file mex.cc.

References maybe_unmark(), and mxArray::set_data().

static int valid_key ( const char *  key)
static

Definition at line 84 of file mex.cc.

References retval, and strlen().

Referenced by mxArray_struct::add_field().

static void xfree ( void *  ptr)
static

Definition at line 62 of file mex.cc.

References free().

Referenced by mex::free(), mxFree(), and mex::~mex().

Variable Documentation

mex* mex_context = 0

Definition at line 2376 of file mex.cc.

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

Definition at line 3531 of file mex.cc.