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);