48 #if ! defined (octave_mexproto_h)
49 #define octave_mexproto_h 1
51 #include "octave-config.h"
53 #if defined (__cplusplus)
64 #if ! defined (OCTINTERP_API)
65 # if defined (_MSC_VER)
66 # define OCTINTERP_API __declspec(dllimport)
69 # define OCTINTERP_API
73 #define MXARRAY_TYPEDEFS_ONLY
75 #undef MXARRAY_TYPEDEFS_ONLY
306 #if defined (MEX_DEBUG)
308 # define mxAssert(expr, msg) \
313 if (msg != NULL && msg[0] != '\0') \
314 mexErrMsgIdAndTxt ("Octave:MEX", \
315 "Assertion failed: %s, at line %d of file \"%s\".\n%s\n", \
316 #expr, __LINE__, __FILE__, msg); \
318 mexErrMsgIdAndTxt ("Octave:MEX", \
319 "Assertion failed: %s, at line %d of file \"%s\".\n", \
320 #expr, __LINE__, __FILE__); \
325 # define mxAssertS(expr, msg) \
330 if (msg != NULL && msg[0] != '\0') \
331 mexErrMsgIdAndTxt ("Octave:MEX", \
332 "Assertion failed at line %d of file \"%s\".\n%s\n", \
333 __LINE__, __FILE__, msg); \
335 mexErrMsgIdAndTxt ("Octave:MEX", \
336 "Assertion failed at line %d of file \"%s\".\n", \
337 __LINE__, __FILE__); \
343 # define mxAssert(expr, msg)
344 # define mxAssertS(expr, msg)
347 #if defined (__cplusplus)
bool mxIsScalar(const mxArray *ptr)
const mwSize * mxGetDimensions(const mxArray *ptr)
bool mxIsUint64(const mxArray *ptr)
bool mxIsInt16(const mxArray *ptr)
void mxSetField(mxArray *ptr, mwIndex index, const char *key, mxArray *val)
int mexIsGlobal(const mxArray *ptr)
mxArray * mxCreateStructMatrix(mwSize rows, mwSize cols, int num_keys, const char **keys)
bool mxIsFromGlobalWS(const mxArray *ptr)
const char * mxGetClassName(const mxArray *ptr)
void mxSetIr(mxArray *ptr, mwIndex *ir)
void mxSetN(mxArray *ptr, mwSize N)
bool mxIsChar(const mxArray *ptr)
int mxGetFieldNumber(const mxArray *ptr, const char *key)
void * mxGetImagData(const mxArray *ptr)
int mexSet(double handle, const char *property, mxArray *val)
mxArray * mxCreateCellMatrix(mwSize m, mwSize n)
void mxRemoveField(mxArray *ptr, int key_num)
double * mxGetPr(const mxArray *ptr)
identity matrix If supplied two scalar respectively For allows like xample val
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE * f
void mxSetClassName(mxArray *ptr, const char *name)
void * mxCalloc(size_t n, size_t size)
void mexWarnMsgTxt(const char *s)
bool mxIsComplex(const mxArray *ptr)
void mexMakeMemoryPersistent(void *ptr)
bool mxIsLogical(const mxArray *ptr)
mxLogical * mxGetLogicals(const mxArray *ptr)
bool mxIsDouble(const mxArray *ptr)
size_t mxGetM(const mxArray *ptr)
size_t mxGetN(const mxArray *ptr)
void mxSetCell(mxArray *ptr, mwIndex idx, mxArray *val)
mxArray * mxCreateNumericArray(mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
void mxSetPi(mxArray *ptr, double *pi)
void mxSetImagData(mxArray *ptr, void *pi)
void mexErrMsgTxt(const char *s)
void mxSetPr(mxArray *ptr, double *pr)
F77_RET_T const F77_INT const F77_INT const F77_INT const F77_DBLE const F77_DBLE F77_INT & M
char * mxArrayToString(const mxArray *ptr)
void mxSetJc(mxArray *ptr, mwIndex *jc)
void mexWarnMsgIdAndTxt(const char *id, const char *s,...)
void mxSetFieldByNumber(mxArray *ptr, mwIndex index, int key_num, mxArray *val)
mwIndex * mxGetIr(const mxArray *ptr)
mxArray * mxCreateSparse(mwSize m, mwSize n, mwSize nzmax, mxComplexity flag)
bool mxIsFunctionHandle(const mxArray *ptr)
mxArray * mxCreateString(const char *str)
mwSize mxGetNumberOfDimensions(const mxArray *ptr)
size_t mxGetNumberOfElements(const mxArray *ptr)
const mxArray * mexGet(double handle, const char *property)
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function xample nargout(@histc)
bool mxIsLogicalScalar(const mxArray *ptr)
mxArray * mexCallMATLABWithTrap(int nargout, mxArray *argout[], int nargin, mxArray *argin[], const char *fname)
void mxSetM(mxArray *ptr, mwSize M)
bool mxIsEmpty(const mxArray *ptr)
mxChar * mxGetChars(const mxArray *ptr)
nd deftypefn *octave_map m
bool mxIsUint32(const mxArray *ptr)
bool mxIsLogicalScalarTrue(const mxArray *ptr)
F77_RET_T const F77_INT & N
void mexSetTrapFlag(int flag)
int mxSetDimensions(mxArray *ptr, const mwSize *dims, mwSize ndims)
bool mxIsUint8(const mxArray *ptr)
void mexMakeArrayPersistent(mxArray *ptr)
bool mxIsNumeric(const mxArray *ptr)
mxArray * mxCreateDoubleMatrix(mwSize nr, mwSize nc, mxComplexity flag)
mxArray * mxCreateDoubleScalar(double val)
bool mxIsClass(const mxArray *ptr, const char *name)
void * mxGetData(const mxArray *ptr)
mxArray * mxCreateLogicalScalar(mxLogical val)
bool mxIsStruct(const mxArray *ptr)
the exceeded dimensions are set to if fewer subscripts than dimensions are the exceeding dimensions are merged into the final requested dimension For consider the following dims
const mxArray * mexGetVariablePtr(const char *space, const char *name)
void mxSetData(mxArray *ptr, void *data)
double * mxGetPi(const mxArray *ptr)
int mexPutVariable(const char *space, const char *name, const mxArray *ptr)
mxArray * mxGetFieldByNumber(const mxArray *ptr, mwIndex index, int key_num)
int mxGetString(const mxArray *ptr, char *buf, mwSize buflen)
bool mxIsInt32(const mxArray *ptr)
double mxGetScalar(const mxArray *ptr)
mwIndex * mxGetJc(const mxArray *ptr)
bool mxIsFinite(double v)
int mexCallMATLAB(int nargout, mxArray *argout[], int nargin, mxArray *argin[], const char *fname)
bool mxIsSparse(const mxArray *ptr)
mxArray * mexGetVariable(const char *space, const char *name)
bool mxIsInt8(const mxArray *ptr)
mxArray * mxCreateNumericMatrix(mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
bool mxIsUint16(const mxArray *ptr)
bool mxIsSingle(const mxArray *ptr)
const char * mxGetFieldNameByNumber(const mxArray *ptr, int key_num)
mxArray * mxCreateCellArray(mwSize ndims, const mwSize *dims)
mxArray * mxDuplicateArray(const mxArray *v)
bool mxIsCell(const mxArray *ptr)
mxArray * mxGetField(const mxArray *ptr, mwIndex index, const char *key)
int mxAddField(mxArray *ptr, const char *key)
int mexEvalString(const char *s)
int mexAtExit(void(*f)(void))
int mexPrintf(const char *fmt,...)
mxArray * mxCreateLogicalArray(mwSize ndims, const mwSize *dims)
mxArray * mxCreateCharMatrixFromStrings(mwSize m, const char **str)
bool mxIsInt64(const mxArray *ptr)
const char * mexFunctionName(void)
mwSize mxGetNzmax(const mxArray *ptr)
mxArray * mxCreateStructArray(mwSize ndims, const mwSize *dims, int num_keys, const char **keys)
mxArray * mexEvalStringWithTrap(const char *s)
mxArray * mxCreateUninitNumericMatrix(mwSize m, mwSize n, mxClassID class_id, mxComplexity flag)
mxArray * mxCreateLogicalMatrix(mwSize m, mwSize n)
void * mxRealloc(void *ptr, size_t size)
mxClassID mxGetClassID(const mxArray *ptr)
void mexErrMsgIdAndTxt(const char *id, const char *s,...)
void * mxMalloc(size_t n)
void mxSetNzmax(mxArray *ptr, mwSize nzmax)
mxArray * mxCreateUninitNumericArray(mwSize ndims, const mwSize *dims, mxClassID class_id, mxComplexity flag)
mxArray * mxCreateSparseLogicalMatrix(mwSize m, mwSize n, mwSize nzmax)
mwIndex mxCalcSingleSubscript(const mxArray *ptr, mwSize nsubs, mwIndex *subs)
mxArray * mxGetCell(const mxArray *ptr, mwIndex idx)
mxArray * mxCreateCharArray(mwSize ndims, const mwSize *dims)
size_t mxGetElementSize(const mxArray *ptr)
int mxGetNumberOfFields(const mxArray *ptr)
void mxDestroyArray(mxArray *v)