add the missing file of matrix2 example

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-sploving@11880 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Baozeng Ding 2010-02-28 02:32:14 +00:00
commit c31100860e
7 changed files with 116 additions and 97 deletions

View file

@ -0,0 +1,17 @@
TOP = ../..
SWIG = $(TOP)/../preinst-swig
SRCS = matrixlib.c
TARGET = matrixlib
INTERFACE = matrixlib.i
all::
$(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \
TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' scilab
clean::
$(MAKE) -f $(TOP)/Makefile scilab_clean
rm -f *.sce *.so lib*lib.c *_wrap.c
check: all
$(MAKE) -f $(TOP)/Makefile scilab_run

View file

@ -1,6 +1,6 @@
files=['matrixlib.c','sci_sumitems.c'];//,'sci_getValues.c'];
ilib_build('build_c',['sumitems','sci_sumitems';'generateValues','sci_getValues'],files,[]);
ilib_name = "matrixliblib";
files = ["matrixlib_wrap.c","matrixlib.o"];
libs = [];
table = ["sumitems","_wrap_sumitems";"getValues","_wrap_getValues";];
ilib_build(ilib_name,table,files,libs);
exit

View file

@ -0,0 +1,24 @@
%module matrixlib
%typemap (in,noblock=1) (double *first, int nbRow, int nbCol){
int *piAddr = NULL;
sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
if (sciErr.iErr) {
printError(&sciErr, 0);
return 0;
}
sciErr = getMatrixOfDouble(pvApiCtx, piAddr, &$2, &$3, &$1);
if (sciErr.iErr) {
printError(&sciErr, 0);
return 0;
}
}
%typemap (in) (int *numberOfRow, int *numberOfCol) {
$1 = &iRowsOut;
$2 = &iColsOut;
}
%inline {
extern double sumitems(double *first, int nbRow, int nbCol);
extern double* getValues(int *numberOfRow, int *numberOfCol);
}