Scilab: fix scalar typemaps & separate "interface" from "implementation"

This commit is contained in:
Simon Marchetto 2013-10-10 14:50:51 +02:00
commit 9b9b9cb999
8 changed files with 66 additions and 62 deletions

View file

@ -3,12 +3,15 @@
* Scilab type: int32
*/
%fragment("SWIG_SciInt32_AsEnum", "header", fragment="SWIG_SciInt32_AsInt") {
%fragment(SWIG_AsVal_frag(Enum), "header", fragment="SWIG_Int_AsEnum") {
%#define SWIG_AsVal_Enum(scilabValue, valuePointer) SWIG_Int_AsEnum(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_Int_AsEnum", "header", fragment=SWIG_AsVal_frag(int)) {
SWIGINTERN int
SWIG_SciInt32_AsEnum(void *_pvApiCtx, int _iVar, int *_enumValue, char *_fname)
SWIG_Int_AsEnum(void *_pvApiCtx, int _iVar, int *_enumValue, char *_fname)
{
int iValue = 0;
if (SWIG_SciInt32_AsInt(_pvApiCtx, _iVar, &iValue, _fname) != SWIG_OK)
if (SWIG_AsVal_dec(int)(_iVar, &iValue) != SWIG_OK)
{
return SWIG_ERROR;
}
@ -20,10 +23,13 @@ SWIG_SciInt32_AsEnum(void *_pvApiCtx, int _iVar, int *_enumValue, char *_fname)
}
}
%fragment("SWIG_SciInt32_FromEnum", "header", fragment="SWIG_SciInt32_FromInt") {
%fragment(SWIG_From_frag(Enum), "header", fragment="SWIG_Int_FromEnum") {
%#define SWIG_From_Enum(scilabValue) SWIG_Int_FromEnum(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_Int_FromEnum", "header", fragment=SWIG_From_frag(int)) {
SWIGINTERN int
SWIG_SciInt32_FromEnum(void *_pvApiCtx, int _iVarOut, int _enumValue, char *_fname)
SWIG_Int_FromEnum(void *_pvApiCtx, int _iVarOut, int _enumValue, char *_fname)
{
return SWIG_SciInt32_FromInt(_pvApiCtx, _iVarOut, _enumValue, _fname);
return SWIG_From_dec(int)(_enumValue);
}
}

View file

@ -4,7 +4,7 @@
*/
%fragment(SWIG_AsVal_frag(int), "header", fragment="SWIG_SciInt32_AsInt") {
#define SWIG_AsVal_int(scilabValue, valuePointer) SWIG_SciInt32_AsInt(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
%#define SWIG_AsVal_int(scilabValue, valuePointer) SWIG_SciInt32_AsInt(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_AsInt", "header") {
SWIGINTERN int
@ -75,7 +75,7 @@ SWIG_SciInt32_AsInt(void *_pvApiCtx, SwigSciObject _iVar, int *_piValue, char *_
}
%fragment(SWIG_From_frag(int), "header", fragment="SWIG_SciInt32_FromInt") {
#define SWIG_From_int(scilabValue) SWIG_SciInt32_FromInt(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%#define SWIG_From_int(scilabValue) SWIG_SciInt32_FromInt(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_FromInt", "header") {
SWIGINTERN int
@ -98,19 +98,19 @@ SWIG_SciInt32_FromInt(void *_pvApiCtx, int _iVarOut, int _iValue, char *_fname)
/*
* C-type: size_t
* Scilab type: 32-bit signed integer
* Scilab type: see int
*/
%fragment(SWIG_AsVal_frag(size_t), "header", fragment="SWIG_SciInt32_AsSize") {
#define SWIG_AsVal_size_t(scilabValue, valuePointer) SWIG_SciInt32_AsSize(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
%fragment(SWIG_AsVal_frag(size_t), "header", fragment="SWIG_Int_AsSize") {
%#define SWIG_AsVal_size_t(scilabValue, valuePointer) SWIG_Int_AsSize(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_AsSize", "header", fragment="SWIG_SciInt32_AsInt")
%fragment("SWIG_Int_AsSize", "header", fragment=SWIG_AsVal_frag(int))
{
SWIGINTERN int
SWIG_SciInt32_AsSize(void *_pvApiCtx, SwigSciObject _iVar, size_t *_piValue, char *_fname)
SWIG_Int_AsSize(void *_pvApiCtx, SwigSciObject _iVar, size_t *_piValue, char *_fname)
{
int iValue = 0;
if (SWIG_SciInt32_AsInt(_pvApiCtx, _iVar, &iValue, _fname) != SWIG_OK)
if (SWIG_AsVal_dec(int)(_iVar, &iValue) != SWIG_OK)
{
return SWIG_ERROR;
}
@ -122,14 +122,14 @@ SWIG_SciInt32_AsSize(void *_pvApiCtx, SwigSciObject _iVar, size_t *_piValue, cha
}
}
%fragment(SWIG_From_frag(size_t), "header", fragment="SWIG_SciInt32_FromSize") {
#define SWIG_From_size_t(scilabValue) SWIG_SciInt32_FromSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%fragment(SWIG_From_frag(size_t), "header", fragment="SWIG_Int_FromSize") {
%#define SWIG_From_size_t(scilabValue) SWIG_Int_FromSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_FromSize", "header", fragment="SWIG_SciInt32_FromInt") {
%fragment("SWIG_Int_FromSize", "header", fragment=SWIG_From_frag(int)) {
SWIGINTERN int
SWIG_SciInt32_FromSize(void *_pvApiCtx, int _iVarOut, size_t _iValue, char *_fname)
SWIG_Int_FromSize(void *_pvApiCtx, int _iVarOut, size_t _iValue, char *_fname)
{
return SWIG_SciInt32_FromInt(_pvApiCtx, _iVarOut, (int)_iValue, _fname);
return SWIG_From_dec(int)((int)_iValue);
}
}

View file

@ -3,14 +3,14 @@
* Scilab type: int32
*/
%fragment(SWIG_AsVal_frag(long), "header", fragment="SWIG_SciInt32_AsLong") {
#define SWIG_AsVal_long(scilabValue, valuePointer) SWIG_SciInt32_AsLong(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname());
%fragment(SWIG_AsVal_frag(long), "header", fragment="SWIG_Int_AsLong") {
%#define SWIG_AsVal_long(scilabValue, valuePointer) SWIG_Int_AsLong(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname());
}
%fragment("SWIG_SciInt32_AsLong", "header", fragment="SWIG_SciInt32_AsInt") {
%fragment("SWIG_Int_AsLong", "header", fragment=SWIG_AsVal_frag(int)) {
SWIGINTERN int
SWIG_SciInt32_AsLong(void *_pvApiCtx, SwigSciObject _iVar, long *_plValue, char *_fname) {
SWIG_Int_AsLong(void *_pvApiCtx, SwigSciObject _iVar, long *_plValue, char *_fname) {
int iValue = 0.0;
if(SWIG_SciInt32_AsInt(_pvApiCtx, _iVar, &iValue, _fname) != SWIG_OK) {
if(SWIG_AsVal_dec(int)(_iVar, &iValue) != SWIG_OK) {
return SWIG_ERROR;
}
*_plValue = (long) iValue;
@ -18,13 +18,13 @@ SWIG_SciInt32_AsLong(void *_pvApiCtx, SwigSciObject _iVar, long *_plValue, char
}
}
%fragment(SWIG_From_frag(long), "header", fragment="SWIG_SciInt32_FromLong") {
#define SWIG_From_long(scilabValue) SWIG_SciInt32_FromLong(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%fragment(SWIG_From_frag(long), "header", fragment="SWIG_Int_FromLong") {
%#define SWIG_From_long(scilabValue) SWIG_Int_FromLong(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_FromLong", "header", fragment="SWIG_SciInt32_FromInt") {
%fragment("SWIG_Int_FromLong", "header", fragment=SWIG_From_frag(int)) {
SWIGINTERN int
SWIG_SciInt32_FromLong(void *_pvApiCtx, int _iVarOut, long _lValue, char *_fname) {
return SWIG_SciInt32_FromInt(_pvApiCtx, _iVarOut, (int)_lValue, _fname);
SWIG_Int_FromLong(void *_pvApiCtx, int _iVarOut, long _lValue, char *_fname) {
return SWIG_From_dec(int)((int)_lValue);
}
}
@ -33,16 +33,16 @@ SWIG_SciInt32_FromLong(void *_pvApiCtx, int _iVarOut, long _lValue, char *_fname
* Scilab type: int32
*/
%fragment(SWIG_AsVal_frag(ptrdiff_t), "header", fragment="SWIG_SciInt32_AsPtrDiff") {
#define SWIG_AsVal_ptrdiff_t(scilabValue, valuePointer) SWIG_SciInt32_AsPtrDiff(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
%fragment(SWIG_AsVal_frag(ptrdiff_t), "header", fragment="SWIG_Int_AsPtrDiff") {
%#define SWIG_AsVal_ptrdiff_t(scilabValue, valuePointer) SWIG_Int_AsPtrDiff(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_AsPtrDiff", "header", fragment="SWIG_SciInt32_AsInt")
%fragment("SWIG_Int_AsPtrDiff", "header", fragment=SWIG_AsVal_frag(int))
{
SWIGINTERN int
SWIG_SciInt32_AsPtrDiff(void *_pvApiCtx, SwigSciObject _iVar, ptrdiff_t *_piValue, char *_fname)
SWIG_Int_AsPtrDiff(void *_pvApiCtx, SwigSciObject _iVar, ptrdiff_t *_piValue, char *_fname)
{
int iValue = 0;
if (SWIG_SciInt32_AsInt(_pvApiCtx, _iVar, &iValue, _fname) != SWIG_OK)
if (SWIG_AsVal_dec(int)(_iVar, &iValue) != SWIG_OK)
{
return SWIG_ERROR;
}
@ -54,13 +54,13 @@ SWIG_SciInt32_AsPtrDiff(void *_pvApiCtx, SwigSciObject _iVar, ptrdiff_t *_piValu
}
}
%fragment(SWIG_From_frag(ptrdiff_t), "header", fragment="SWIG_SciInt32_FromPtrDiff") {
#define SWIG_From_ptrdiff_t(scilabValue) SWIG_SciInt32_FromPtrDiff(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%fragment(SWIG_From_frag(ptrdiff_t), "header", fragment="SWIG_Int_FromPtrDiff") {
%#define SWIG_From_ptrdiff_t(scilabValue) SWIG_Int_FromPtrDiff(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_FromPtrDiff", "header", fragment="SWIG_SciInt32_FromInt") {
%fragment("SWIG_Int_FromPtrDiff", "header", fragment=SWIG_From_frag(int)) {
SWIGINTERN int
SWIG_SciInt32_FromPtrDiff(void *_pvApiCtx, int _iVarOut, ptrdiff_t _iValue, char *_fname)
SWIG_Int_FromPtrDiff(void *_pvApiCtx, int _iVarOut, ptrdiff_t _iValue, char *_fname)
{
return SWIG_SciInt32_FromInt(_pvApiCtx, _iVarOut, (int)_iValue, _fname);
return SWIG_From_dec(int)((int)_iValue);
}
}

View file

@ -4,7 +4,7 @@
* Scilab 6 type: int64
*/
%fragment(SWIG_AsVal_frag(long long), "header", fragment="SWIG_SciInt64_ToLongLong") {
#define SWIG_AsVal_long_SS_long(scilabValue, valuePointer) SWIG_SciInt64_ToLongLong(pvApiCtx, scilabValue, valuePointer, fname)
%#define SWIG_AsVal_long_SS_long(scilabValue, valuePointer) SWIG_SciInt64_ToLongLong(pvApiCtx, scilabValue, valuePointer, fname)
}
%fragment("SWIG_SciInt64_ToLongLong", "header") {
SWIGINTERN int

View file

@ -262,8 +262,8 @@
/* -----------------------------------------------------------------------------
* --- Use enum from Scilab ---
* ----------------------------------------------------------------------------- */
%typemap(in, noblock=1, fragment="SWIG_SciInt32_AsEnum") enum SWIGTYPE (int val) {
if (SWIG_SciInt32_AsEnum(pvApiCtx, $input, &val, SWIG_Scilab_GetFname()) != SWIG_OK) {
%typemap(in, noblock=1, fragment=SWIG_AsVal_frag(Enum)) enum SWIGTYPE (int val) {
if (SWIG_AsVal_dec(Enum)($input, &val) != SWIG_OK) {
return 0;
}
$1 = %reinterpret_cast(val, $ltype);
@ -272,10 +272,8 @@
/* -----------------------------------------------------------------------------
* --- Return enum to Scilab ---
* ----------------------------------------------------------------------------- */
%scilab_varout_typemap(constcode, SwigScilabInt32FromEnum, enum SWIGTYPE);
%typemap(out, fragment="SWIG_SciInt32_FromEnum") enum SWIGTYPE {
if (SWIG_SciInt32_FromEnum(pvApiCtx, $result, $1, SWIG_Scilab_GetFname()) != SWIG_OK) {
%typemap(out, fragment=SWIG_From_frag(Enum)) enum SWIGTYPE {
if (SWIG_From_dec(Enum)($1) != SWIG_OK) {
return SWIG_ERROR;
}
}

View file

@ -3,7 +3,7 @@
* Scilab type: uint32 scalar
*/
%fragment(SWIG_AsVal_frag(unsigned int), "header", fragment="SWIG_SciUint32_AsUnsignedInt") {
#define SWIG_AsVal_unsigned_SS_int(scilabValue, valuePointer) SWIG_SciUint32_AsUnsignedInt(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
%#define SWIG_AsVal_unsigned_SS_int(scilabValue, valuePointer) SWIG_SciUint32_AsUnsignedInt(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciUint32_AsUnsignedInt", "header") {
SWIGINTERN int
@ -59,7 +59,7 @@ SWIG_SciUint32_AsUnsignedInt(void *_pvApiCtx, int _iVar, unsigned int *_puiValue
}
%fragment(SWIG_From_frag(unsigned int), "header", fragment="SWIG_SciUint32_FromUnsignedInt") {
#define SWIG_From_unsigned_SS_int(scilabValue) SWIG_SciUint32_FromUnsignedInt(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%#define SWIG_From_unsigned_SS_int(scilabValue) SWIG_SciUint32_FromUnsignedInt(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciUint32_FromUnsignedInt", "header") {
SWIGINTERN int

View file

@ -1,16 +1,16 @@
/*
* C-type: unsigned long
* Scilab type: uint32
* Scilab type: see unsigned int
*/
%fragment(SWIG_AsVal_frag(unsigned long), "header", fragment="SWIG_SciInt32_AsUnsignedLong") {
#define SWIG_AsVal_unsigned_long(scilabValue, valuePointer) SWIG_SciInt32_AsUnsignedLong(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
%fragment(SWIG_AsVal_frag(unsigned long), "header", fragment="SWIG_UnsignedInt_AsUnsignedLong") {
#define SWIG_AsVal_unsigned_SS_long(scilabValue, valuePointer) SWIG_UnsignedInt_AsUnsignedLong(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciInt32_AsUnsignedLong", "header", fragment="SWIG_SciUint32_AsUnsignedInt") {
%fragment("SWIG_UnsignedInt_AsUnsignedLong", "header", fragment=SWIG_AsVal_frag(unsigned int)) {
SWIGINTERN int
SWIG_SciUInt32_AsUnsignedLong(void *_pvApiCtx, SwigSciObject _iVar, unsigned long *_pulValue, char *_fname) {
unsigned int uiValue = 0.0;
if(SWIG_SciUint32_AsUnsignedInt(_pvApiCtx, _iVar, &uiValue, _fname) != SWIG_OK) {
SWIG_UnsignedInt_AsUnsignedLong(void *_pvApiCtx, SwigSciObject _iVar, unsigned long *_pulValue, char *_fname) {
unsigned int uiValue = 0;
if(SWIG_AsVal_unsigned_SS_int(_iVar, &uiValue) != SWIG_OK) {
return SWIG_ERROR;
}
*_pulValue = (unsigned long) uiValue;
@ -18,12 +18,12 @@ SWIG_SciUInt32_AsUnsignedLong(void *_pvApiCtx, SwigSciObject _iVar, unsigned lon
}
}
%fragment(SWIG_From_frag(unsigned long), "header", fragment="SWIG_SciUint32_FromUnsignedLong") {
#define SWIG_From_unsigned_SS_long(scilabValue) SWIG_SciUint32_FromUnsignedLong(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%fragment(SWIG_From_frag(unsigned long), "header", fragment="SWIG_UnsignedInt_FromUnsignedLong") {
#define SWIG_From_unsigned_SS_long(scilabValue) SWIG_UnsignedInt_FromUnsignedLong(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciUint32_FromUnsignedLong", "header", fragment="SWIG_SciUint32_FromUnsignedInt") {
%fragment("SWIG_UnsignedInt_FromUnsignedLong", "header", fragment=SWIG_From_frag(unsigned int)) {
SWIGINTERN int
SWIG_SciUint32_FromUnsignedLong(void *_pvApiCtx, int _iVarOut, unsigned long _ulValue, char *_fname) {
return SWIG_SciUint32_FromUnsignedInt(_pvApiCtx, _iVarOut, (unsigned int) _ulValue, _fname);
SWIG_UnsignedInt_FromUnsignedLong(void *_pvApiCtx, int _iVarOut, unsigned long _ulValue, char *_fname) {
return SWIG_From_unsigned_SS_int((unsigned int)_ulValue);
}
}

View file

@ -3,7 +3,7 @@
* Scilab type: uint16 scalar
*/
%fragment(SWIG_AsVal_frag(unsigned short), "header", fragment="SWIG_SciUint16_AsUnsignedShort") {
#define SWIG_AsVal_unsigned_short(scilabValue, valuePointer) SWIG_SciUint16_AsUnsignedShort(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
%#define SWIG_AsVal_unsigned_SS_short(scilabValue, valuePointer) SWIG_SciUint16_AsUnsignedShort(pvApiCtx, scilabValue, valuePointer, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciUint16_AsUnsignedShort", "header") {
SWIGINTERN int
@ -59,7 +59,7 @@ SWIG_SciUint16_AsUnsignedShort(void *_pvApiCtx, int _iVar, unsigned short *_pusV
}
%fragment(SWIG_From_frag(unsigned short), "header", fragment="SWIG_SciUint16_FromUnsignedShort") {
#define SWIG_From_unsigned_SS_short(scilabValue) SWIG_SciUint16_FromUnsignedShort(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
%#define SWIG_From_unsigned_SS_short(scilabValue) SWIG_SciUint16_FromUnsignedShort(pvApiCtx, SWIG_Scilab_GetOutputPosition(), scilabValue, SWIG_Scilab_GetFname())
}
%fragment("SWIG_SciUint16_FromUnsignedShort", "header") {
SWIGINTERN int