From 394e632d6c45355b32d5b866ee7d3f96d381452c Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Thu, 17 Sep 2009 13:25:47 +0000 Subject: [PATCH] add arrays_global_twodim testcase git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-sploving@11694 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../scilab/arrays_global_twodim_runme.sci | 7 +++ Lib/scilab/scitypemaps.swg | 55 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 Examples/test-suite/scilab/arrays_global_twodim_runme.sci diff --git a/Examples/test-suite/scilab/arrays_global_twodim_runme.sci b/Examples/test-suite/scilab/arrays_global_twodim_runme.sci new file mode 100644 index 000000000..5cbd6c92e --- /dev/null +++ b/Examples/test-suite/scilab/arrays_global_twodim_runme.sci @@ -0,0 +1,7 @@ +exec loader.sce; + +a = [1, 2, 3, 4; 5, 6, 7, 8;] +array_d_set(a); +if array_d_get() <> a then pause, end + +exit diff --git a/Lib/scilab/scitypemaps.swg b/Lib/scilab/scitypemaps.swg index 609315a29..e26b35eae 100644 --- a/Lib/scilab/scitypemaps.swg +++ b/Lib/scilab/scitypemaps.swg @@ -1234,6 +1234,61 @@ LhsVar(iOutNum) = iVarOut; } + +%typemap(varout,noblock=1) signed char [ANY][ANY], + char [ANY][ANY]{ + createMatrixOfInteger8(iVarOut, $1_dim0, $1_dim1, (char *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) unsigned char [ANY][ANY] { + createMatrixOfUnsignedInteger8(iVarOut, $1_dim0, $1_dim1, (unsigned char *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) short [ANY][ANY] { + createMatrixOfInteger16(iVarOut, $1_dim0, $1_dim1, (short *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) unsigned short [ANY][ANY] { + createMatrixOfUnsignedInteger16(iVarOut, $1_dim0, $1_dim1, (unsigned short *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) int [ANY][ANY], + long [ANY][ANY] { + createMatrixOfInteger32(iVarOut, $1_dim0, $1_dim1, (int *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) unsigned int [ANY][ANY], + unsigned long [ANY][ANY] { + createMatrixOfUnsignedInteger32(iVarOut, $1_dim0, $1_dim1, (unsigned int *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) double [ANY][ANY] { + createMatrixOfDouble(iVarOut, $1_dim0, $1_dim1, (double *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) float [ANY][ANY] { + createMatrixOfDouble(iVarOut, $1_dim0, $1_dim1, (double *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) long long [ANY][ANY] { + createMatrixOfInteger64(iVarOut, $1_dim0, $1_dim1, (long long *)$result); + LhsVar(iOutNum) = iVarOut; +} + +%typemap(varout,noblock=1) unsigned long long [ANY][ANY] { + createMatrixOfUnsignedInteger64(iVarOut, $1_dim0, $1_dim1, (unsigned long long *)$result); + LhsVar(iOutNum) = iVarOut; +} + + /* Enums */ %typemap(varout,noblock=1) enum SWIGTYPE { createMatrixOfInteger32(iVarOut, iRowsOut, iColsOut, (int *)&temp);