Update tests & examples after Scilab API modifications

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-scilab@13526 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Vincent Couvert 2012-08-06 11:31:47 +00:00
commit 53b2b4405d
5 changed files with 23 additions and 25 deletions

View file

@ -43,7 +43,7 @@ int sci_sumitems(char *fname,unsigned long fname_len)
return 0; return 0;
} }
AssignOutputVariable(1) = nbInputArgument + 1; AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
return 0; return 0;
} }
@ -75,7 +75,7 @@ int sci_getValues(char *fname,unsigned long fname_len)
return 0; return 0;
} }
AssignOutputVariable(1) = nbInputArgument + 1; AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
return 0; return 0;
} }

View file

@ -19,32 +19,30 @@
%typemap(arginit) (double** matrixAsArgOutput,int* rows, int* cols) %typemap(arginit) (double** matrixAsArgOutput,int* rows, int* cols)
{ {
$1=(double**)malloc(16*sizeof(double*)); $1=(double**)malloc(16*sizeof(double*));
$2=(int*)malloc(sizeof(int)); $2=(int*)malloc(sizeof(int));
$3=(int*)malloc(sizeof(int)); $3=(int*)malloc(sizeof(int));
} }
%typemap(freearg) (double** matrixAsArgOutput,int* rows, int* cols) %typemap(freearg) (double** matrixAsArgOutput,int* rows, int* cols)
{ {
free(*$1); free(*$1);
free($1); free($1);
free($2); free($2);
free($3); free($3);
} }
%typemap(argout) (double** matrixAsArgOutput,int* rows, int* cols) %typemap(argout) (double** matrixAsArgOutput,int* rows, int* cols)
{ {
sciErr = createMatrixOfDouble(pvApiCtx, iVarOut, *$2, *$3, (double *)*$1); sciErr = createMatrixOfDouble(pvApiCtx, iVarOut, *$2, *$3, (double *)*$1);
if (sciErr.iErr) { if (sciErr.iErr) {
printError(&sciErr, 0); printError(&sciErr, 0);
return 0; return 0;
} }
AssignOutputVariable(pvApiCtx, iOutNum) = iVarOut;
iOutNum++;
AssignOutputVariable(iOutNum) = iVarOut; iVarOut++;
iOutNum++;
iVarOut++;
} }

View file

@ -67,7 +67,7 @@ SwigScilabInt32FromEnum(void *_pvApiCtx, int _iVarOut, int _enumValue) {
return SWIG_ERROR; return SWIG_ERROR;
} }
AssignOutputVariable(_iVarOut) = nbInputArgument + _iVarOut; AssignOutputVariable(pvApiCtx, _iVarOut) = nbInputArgument(pvApiCtx) + _iVarOut;
return SWIG_OK; return SWIG_OK;

View file

@ -168,12 +168,12 @@ SWIG_Scilab_NewMemberObj(void *_pvApiCtx, int _iVarOut, void *_ptr, int _sz, swi
} }
SWIGRUNTIME int SWIGRUNTIME int
SWIG_Scilab_SetOutput(SciObject _output) { SWIG_Scilab_SetOutput(void *_pvApiCtx, SciObject _output) {
int outputPosition = SWIG_Scilab_GetOutputPositionAndReset(); int outputPosition = SWIG_Scilab_GetOutputPositionAndReset();
if (outputPosition < 0 || _output < 0) { if (outputPosition < 0 || _output < 0) {
return SWIG_ERROR; return SWIG_ERROR;
} }
AssignOutputVariable(outputPosition) = _output; AssignOutputVariable(_pvApiCtx, outputPosition) = _output;
return SWIG_OK; return SWIG_OK;
} }

View file

@ -10,12 +10,12 @@
// In Scilab, returning void is ignored (no typemap associated) // In Scilab, returning void is ignored (no typemap associated)
//#define VOID_Object ScilabObject //#define VOID_Object ScilabObject
#define %append_output(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(obj))) return SWIG_ERROR #define %append_output(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
#define %set_constant(name, obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(obj))) return SWIG_ERROR // Name is managed by the the function name #define %set_constant(name, obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR // Name is managed by the the function name
#define %raise(obj, type, desc) SwigScilabRaise(obj, type, desc) #define %raise(obj, type, desc) SwigScilabRaise(obj, type, desc)
#define %set_output(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(obj))) return SWIG_ERROR #define %set_output(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
#define %set_varoutput(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(obj))) return SWIG_ERROR #define %set_varoutput(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
#define %set_argoutput(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(obj))) return SWIG_ERROR #define %set_argoutput(obj) if (!SWIG_IsOK(SWIG_Scilab_SetOutput(pvApiCtx, obj))) return SWIG_ERROR
// Include the unified typemap library // Include the unified typemap library
%include <typemaps/swigtypemaps.swg> %include <typemaps/swigtypemaps.swg>