diff --git a/Examples/scilab/set/Makefile b/Examples/scilab/set/Makefile new file mode 100644 index 000000000..e8ea02e15 --- /dev/null +++ b/Examples/scilab/set/Makefile @@ -0,0 +1,16 @@ +TOP = ../.. +SWIG = $(TOP)/../preinst-swig +SRCS = example.cpp +TARGET = example +INTERFACE = example.i + +all: + $(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \ + TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' scilab_cpp + +clean: + $(MAKE) -f $(TOP)/Makefile scilab_clean + rm -f *.sce *.so lib*lib.c *_wrap.cxx + +check: all + $(MAKE) -f $(TOP)/Makefile scilab_run diff --git a/Examples/scilab/set/example.cpp b/Examples/scilab/set/example.cpp new file mode 100644 index 000000000..080b27416 --- /dev/null +++ b/Examples/scilab/set/example.cpp @@ -0,0 +1,29 @@ +/* File : example.cpp */ + +#include "example.hxx" + +std::set create_iset(const int size, const int* values) +{ + std::set iset; + std::copy(values, values + size, std::inserter(iset, iset.begin())); + return iset; +} + +int sum_iset(const std::set iset) +{ + int sum = 0; + std::set::iterator it; + for (it = iset.begin(); it != iset.end(); it++) + { + sum += *it; + } + return sum; +} + +void concat_iset(std::set& iset, const std::set other_iset) +{ + std::copy(other_iset.begin(), other_iset.end(), std::inserter(iset, iset.begin())); +} + + + diff --git a/Examples/scilab/set/example.hxx b/Examples/scilab/set/example.hxx new file mode 100644 index 000000000..e00b7b24b --- /dev/null +++ b/Examples/scilab/set/example.hxx @@ -0,0 +1,13 @@ +/* File : example.hxx */ + +#include + +std::set create_iset(const int size, const int* values); + +int sum_iset(const std::set iset); + +void concat_iset(std::set& iset, const std::set other_iset); + + + + diff --git a/Examples/scilab/set/example.i b/Examples/scilab/set/example.i new file mode 100644 index 000000000..a4ab23972 --- /dev/null +++ b/Examples/scilab/set/example.i @@ -0,0 +1,14 @@ +/* File : example.i */ + +%module example + +%{ +#include "example.hxx" +%} + +%include "std_set.i" + +%include "matrix.i" +%apply (int size, int* matrixAsInput) { (const int size, const int* values) }; + +%include "example.hxx"; diff --git a/Examples/scilab/set/runme.sci b/Examples/scilab/set/runme.sci new file mode 100644 index 000000000..475d95b34 --- /dev/null +++ b/Examples/scilab/set/runme.sci @@ -0,0 +1,16 @@ +exec loader.sce; + +disp("this is an example with sets of int."); +disp("create the set from matrix [1, 2, 4, 4]:"); +iset = create_iset(int32([1, 2, 4, 4])); +disp(iset); +s = sum_iset(iset); +disp("sum of this set elements is:"); +disp(s); +iset2 = create_iset(int32([1, 10])); +disp("concat this set with the set of int {1, 10}:"); +iset3 = concat_iset(iset, iset2); +disp(iset3); + + +