Mercurial > hg > octave-lyh
changeset 11100:cdf940db26a0
provide mxIsFunctionHandle MEX interface function
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 16 Oct 2010 13:27:18 -0400 |
parents | 65b240770880 |
children | 1f9ab076f5f7 |
files | src/ChangeLog src/mex.cc src/mexproto.h src/mxarray.h.in |
diffstat | 4 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2010-10-16 John W. Eaton <jwe@octave.org> + + * mxarray.h.in (mxArray::is_function_handle): New virtual function. + * mex.cc (mxArray_base::is_function_handle): New pure virtual function. + (mxArray_octave_value::is_function_handle): New function. + (mxArray_matlab::is_function_handle): New function. + (mxIsFunctionHandle): New function. + * mexproto.h (mxIsFunctionHandle): Provide decl. + 2010-10-14 John W. Eaton <jwe@octave.org> * sparse.cc: Rename from DLD-FUNCTIONS/sparse.cc. Include
--- a/src/mex.cc +++ b/src/mex.cc @@ -141,6 +141,8 @@ int is_double (void) const = 0; + int is_function_handle (void) const = 0; + int is_int16 (void) const = 0; int is_int32 (void) const = 0; @@ -343,6 +345,8 @@ int is_double (void) const { return val.is_double_type (); } + int is_function_handle (void) const { return val.is_function_handle (); } + int is_int16 (void) const { return val.is_int16_type (); } int is_int32 (void) const { return val.is_int32_type (); } @@ -787,6 +791,8 @@ int is_double (void) const { return id == mxDOUBLE_CLASS; } + int is_function_handle (void) const { return id == mxFUNCTION_CLASS; } + int is_int16 (void) const { return id == mxINT16_CLASS; } int is_int32 (void) const { return id == mxINT32_CLASS; } @@ -2649,6 +2655,12 @@ } int +mxIsFunctionHandle (const mxArray *ptr) +{ + return ptr->is_function_handle (); +} + +int mxIsInt16 (const mxArray *ptr) { return ptr->is_int16 ();
--- a/src/mexproto.h +++ b/src/mexproto.h @@ -146,6 +146,7 @@ extern OCTINTERP_API int mxIsClass (const mxArray *ptr, const char *name); extern OCTINTERP_API int mxIsComplex (const mxArray *ptr); extern OCTINTERP_API int mxIsDouble (const mxArray *ptr); +extern OCTINTERP_API int mxIsFunctionHandle (const mxArray *ptr); extern OCTINTERP_API int mxIsInt16 (const mxArray *ptr); extern OCTINTERP_API int mxIsInt32 (const mxArray *ptr); extern OCTINTERP_API int mxIsInt64 (const mxArray *ptr);
--- a/src/mxarray.h.in +++ b/src/mxarray.h.in @@ -184,6 +184,8 @@ virtual int is_double (void) const { return rep->is_double (); } + virtual int is_function_handle (void) const { return rep->is_function_handle (); } + virtual int is_int16 (void) const { return rep->is_int16 (); } virtual int is_int32 (void) const { return rep->is_int32 (); }