oln-0.10 10.226: Revive Swilena

This patch fixes Swilena (both Pylena and Rblena) so that it works with current versions of SWIG and GCC. (I've omitted two files, they're in the next commit.) 2006-06-30 Roland Levillain <roland@lrde.epita.fr> Revive Swilena. * expand.sh (MODULES): Generate new SWIG interfaces: swilena_basics1d.i, swilena_basics2d.i, swilena_basics3d.i. Don't add `-lswigpy' nor `-lswigrb' to LDFLAGS when linking the C++ wrappers. Add a dependency-tracking mechanism for the generated C++ wrappers. * meta/swilena_basics.i, meta/swilena_config.i: New files. * meta/Makefile.am (EXTRA_DIST): Add swilena_basics.i and swilena_config.i. * meta/swilena_arith.i, meta/swilena_conversions.i, * meta/swilena_image.i * meta/swilena_imagesize.i, meta/swilena_morpho.i, * meta/swilena_ntg.i, meta/swilena_point.i, * meta/swilena_structelt.i, meta/swilena_w_win.i: Include swilena_config.i. * meta/swilena_arith.i, meta/swilena_conversions.i, * meta/swilena_image.i, * meta/swilena_structelt.i: Include swilena_basics' SWIG interfaces for 1-, 2- and 3-dimension images, and avoid code duplication. * generate_arith_instantiations.py (write_headers) * generate_conversions_instantiations.py (write_headers) * generate_morpho_instantiations.py (write_headers): Generate an %include statement for swilena_config.i. Generate an %include statement instead of an %import for swilena_image%(dim)sd.i. * meta/swilena_exception.i (START_PROTECT, END_PROTECT): Remove these guards. * meta/swilena_ntg.i (decl_complex, decl_ntg): Turn them into a ``function'' macros with an empty argument list to pacify swig. Adjust callers. * meta/swilena_structelt.i: Don't wrap the `T(unsigned n, const coord crd[])' ctor. * meta/swilena_image.i: Include swilena_exception.i. (oln::io::internal::anything): Ask swig not to generated a default ctor for this class. * meta/swilena_arith.i: Catch up with the new naming convention w.r.t. operators. * python/tests/sanity.py: New test. * python/tests/Makefile.am (dist_noinst_DATA): Add sanity.py. * ruby/tests/sanity.rb: New test. * ruby/tests/Makefile.am (dist_noinst_DATA): Add sanity.rb. (TESTS): Set to $(dist_noinst_DATA). Index: 10.225/tools/swilena/expand.sh --- 10.225/tools/swilena/expand.sh Tue, 20 Apr 2004 18:09:05 +0200 van-vl_n (oln/s/25_expand.sh 1.17 700) +++ 10.225(w)/tools/swilena/expand.sh Fri, 30 Jun 2006 12:00:33 +0200 levill_r (oln/s/25_expand.sh 1.17 700) @@ -12,9 +12,18 @@ MODULES="$MODULES ntg" for dim in 1 2 3; do + ## C++ header inclusions for basic types. + cat >"$SWILENA/src/swilena_basics${dim}d.i" <<EOF +// -*- C++ -*- +// Warning: this file was generated by expand.sh +%include swilena_basics.i +decl_basics($dim) +EOF + ## {1d,2d,3d} families for mod in point structelt w_win imagesize image; do cat >"$SWILENA/src/swilena_$mod${dim}d.i" <<EOF +// -*- C++ -*- // Warning: this file was generated by expand.sh %module swilena_$mod${dim}d %include swilena_$mod.i @@ -79,8 +88,7 @@ INCLUDES = \$(PYTHON_CPPFLAGS) -I\$(srcdir)/../src AM_CPPFLAGS = -DOLN_EXCEPTIONS AM_CXXFLAGS = \$(CXXFLAGS_OPTIMIZE) \$(DOC_CPPFLAGS) -AM_LDFLAGS = -shared -lswigpy \$(ZLIB_LDFLAGS) - +AM_LDFLAGS = -shared \$(ZLIB_LDFLAGS) EOF } @@ -130,9 +138,31 @@ else sdir=meta fi - echo "swilena_${mod}_wrap.cxx swilena_${mod}.py: \$(srcdir)/../$sdir/swilena_${mod}.i" - echo -e "\t\$(SWIG) \$(SWIG_FLAGS) -c++ -python -I\$(srcdir)/../src -I\$(srcdir)/../meta \$(CPPFLAGS) -o swilena_${mod}_wrap.cxx \$(srcdir)/../$sdir/swilena_${mod}.i" - echo + # Rule generating a C++ (*_wrap.cc) and a Python (*.py) wrappers from a + # SWIG interface. + # + # FIXME: The generation of the Python wrapper is separated from + # the one of the C++ wrapper in this version, and that's not good. + # We should use Make's trick for multipIndex: 10.225/tools/swilena/meta/Makefile.am Index: 10.225/tools/swilena/meta/swilena_w_win.i Index: 10.225/tools/swilena/meta/swilena_structelt.i le outputs (with timestamps) + # here. + base="swilena_${mod}" + src="\$(srcdir)/../$sdir/$base.i" + dest="${base}_wrap.cxx" + cat <<EOF +$dest: $src + if \$(SWIG) \$(SWIG_FLAGS) -MD -MF \$(DEPDIR)/${base}_wrap.Tcc -c++ -python -I\$(srcdir)/../src -I\$(srcdir)/../meta \$(CPPFLAGS) -o $dest $src; \\ + then \\ + mv -f "\$(DEPDIR)/${base}_wrap.Tcc" "\$(DEPDIR)/${base}_wrap.Pcc"; \\ + else \\ + rm -f "\$(DEPDIR)/${base}_wrap.Tcc"; exit 1; \\ + fi + +@AMDEP_TRUE@@am__include@ @am__quote@./\$(DEPDIR)/${base}_wrap.Pcc@am__quote@ + +$base.py: $src + \$(MAKE) \$(AM_MAKEFLAGS) $dest + +EOF done } @@ -150,7 +180,9 @@ INCLUDES = \$(RUBY_CPPFLAGS) -I\$(srcdir)/../src AM_CPPFLAGS = -DOLN_EXCEPTIONS AM_CXXFLAGS = \$(CXXFLAGS_OPTIMIZE) \$(DOC_CPPFLAGS) -AM_LDFLAGS = -shared -lswigrb \$(ZLIB_LDFLAGS) +# FIXME: Modern versions of swig don't use libswigpy. +#AM_LDFLAGS = -shared -lswigrb \$(ZLIB_LDFLAGS) +AM_LDFLAGS = -shared \$(ZLIB_LDFLAGS) EOF } @@ -178,9 +210,31 @@ else sdir=meta fi - echo "swilena_${mod}_wrap.cxx: \$(srcdir)/../$sdir/swilena_${mod}.i" - echo -e "\t\$(SWIG) \$(SWIG_FLAGS) -c++ -ruby -I\$(srcdir)/../src -I\$(srcdir)/../meta \$(CPPFLAGS) -o swilena_${mod}_wrap.cxx \$(srcdir)/../$sdir/swilena_${mod}.i" - echo + # Rule generating a C++ (*_wrap.cc) and a Ruby (*.rb) wrappers from a + # SWIG interface. + # + # FIXME: The generation of the Ruby wrapper is separated from + # the one of the C++ wrapper in this version, and that's not good. + # We should use Make's trick for multiple outputs (with timestamps) + # here. + base="swilena_${mod}" + src="\$(srcdir)/../$sdir/$base.i" + dest="${base}_wrap.cxx" + cat <<EOF +$dest: $src + if \$(SWIG) \$(SWIG_FLAGS) -MD -MF \$(DEPDIR)/${base}_wrap.Tcc -c++ -ruby -I\$(srcdir)/../src -I\$(srcdir)/../meta \$(CPPFLAGS) -o $dest $src; \\ + then \\ + mv -f "\$(DEPDIR)/${base}_wrap.Tcc" "\$(DEPDIR)/${base}_wrap.Pcc"; \\ + else \\ + rm -f "\$(DEPDIR)/${base}_wrap.Tcc"; exit 1; \\ + fi + +@AMDEP_TRUE@@am__include@ @am__quote@./\$(DEPDIR)/${base}_wrap.Pcc@am__quote@ + +$base.rb: $src + \$(MAKE) \$(AM_MAKEFLAGS) $dest + +EOF done } --- 10.225/tools/swilena/meta/Makefile.am Thu, 15 Apr 2004 15:40:44 +0200 van-vl_n (oln/s/26_Makefile.a 1.4 600) +++ 10.225(w)/tools/swilena/meta/Makefile.am Wed, 28 Jun 2006 15:26:35 +0200 levill_r (oln/s/26_Makefile.a 1.4 600) @@ -1,9 +1,8 @@ ## Process this file through Automake to produce Makefile.in -*- Makefile -*- -EXTRA_DIST = swilena_core.i swilena_decl.i swilena_describe.i \ - swilena_exception.i swilena_image.i swilena_imagesize.i \ - swilena_morpho.i swilena_arith.i swilena_conversions.i \ - swilena_ntg.i swilena_ntg_macros.i swilena_point.i \ - swilena_structelt.i \ +EXTRA_DIST = swilena_basics.i swilena_core.i swilena_config.i \ + swilena_decl.i swilena_describe.i swilena_exception.i \ + swilena_image.i swilena_imagesize.i swilena_morpho.i \ + swilena_arith.i swilena_conversions.i swilena_ntg.i \ + swilena_ntg_macros.i swilena_point.i swilena_structelt.i \ swilena_w_win.i - --- 10.225/tools/swilena/meta/swilena_w_win.i Tue, 29 Jul 2003 18:21:22 +0200 david (oln/s/27_swilena_w_ 1.2 600) +++ 10.225(w)/tools/swilena/meta/swilena_w_win.i Mon, 26 Jun 2006 17:48:30 +0200 levill_r (oln/s/27_swilena_w_ 1.2 600) @@ -1,5 +1,7 @@ // -*- C++ -*- +%include swilena_config.i + /*------------------------. | oln::w_window structure | `------------------------*/ --- 10.225/tools/swilena/meta/swilena_structelt.i Sat, 10 Apr 2004 19:36:38 +0200 van-vl_n (oln/s/28_swilena_st 1.4 600) +++ 10.225(w)/tools/swilena/meta/swilena_structelt.i Fri, 30 Jun 2006 16:45:14 +0200 levill_r (oln/s/28_swilena_st 1.4 600) @@ -1,5 +1,7 @@ // -*- C++ -*- +%include swilena_config.i + /*----------------------------------------------. | oln::window, and oln::neighborhood structures | `----------------------------------------------*/ @@ -31,8 +33,14 @@ structelt_methods(T, Dim) + // FIXME: SWIG is unable to wrap thisIndex: 10.225/tools/swilena/meta/swilena_point.i Index: 10.225/tools/swilena/meta/swilena_ntg.i Index: 10.225/tools/swilena/meta/swilena_morpho.i Index: 10.225/tools/swilena/meta/swilena_imagesize.i Index: 10.225/tools/swilena/meta/swilena_image.i Index: 10.225/tools/swilena/meta/swilena_exception.i ctor because of a strange + // invalid pointer conversion w.r.t. its second argument. Have a + // look at the SWIG manual for more details on how arrays are + // handled. +#if 0 // utility constructor T(unsigned n, const coord crd[]); +#endif // set operations %extend @@ -77,23 +85,9 @@ %include swilena_describe.i %include swilena_core.i -%import swilena_point ## Dim ## d.i +%include swilena_basics ## Dim ##d.i -#if Dim == 1 -%{ -#include <oln/basics1d.hh> -%} -#elif Dim == 2 -%{ -#include <oln/basics2d.hh> -%} -#elif Dim == 3 -%{ -#include <oln/basics3d.hh> -%} -#else -#error Unsupported dimension. -#endif +%import swilena_point ## Dim ## d.i namespace oln { --- 10.225/tools/swilena/meta/swilena_point.i Mon, 15 Sep 2003 17:23:46 +0200 burrus_n (oln/s/29_swilena_po 1.3 600) +++ 10.225(w)/tools/swilena/meta/swilena_point.i Mon, 26 Jun 2006 17:45:09 +0200 levill_r (oln/s/29_swilena_po 1.3 600) @@ -1,5 +1,7 @@ // -*- C++ -*- +%include swilena_config.i + /*--------------------------------------. | oln::point and oln::dpoint structures | `--------------------------------------*/ --- 10.225/tools/swilena/meta/swilena_ntg.i Sun, 11 Apr 2004 22:22:47 +0200 van-vl_n (oln/s/33_swilena_nt 1.9 600) +++ 10.225(w)/tools/swilena/meta/swilena_ntg.i Mon, 26 Jun 2006 18:20:22 +0200 levill_r (oln/s/33_swilena_nt 1.9 600) @@ -1,6 +1,9 @@ -%module swilena_ntg +%module swilena_ntg // -*- C++ -*- + +%include swilena_config.i %include swilena_exception.i + /***** Generic class declaration for scalars ******/ /* Predecls */ @@ -157,7 +160,7 @@ }; %enddef -%define decl_complex +%define decl_complex() template<typename repr, typename T> class cplx { @@ -186,7 +189,7 @@ %enddef // Swig preprocessor does not understand empty call to macros. -%define decl_ntg +%define decl_ntg() %include <ntg/vect/cplx_representation.hh> %include <ntg/core/predecls.hh> %{ @@ -202,12 +205,12 @@ decl_scalar_class(ntg, int_s, long) decl_bin_class(ntg, bin, bool) - decl_complex + decl_complex() } %enddef -decl_ntg +decl_ntg() /* Macro are defined for every type and should be used in all modules @@ -238,4 +241,3 @@ %template(cplx_rect) ntg::cplx< ntg::rect, ntg_float >; %template(cplx_polar) ntg::cplx< ntg::polar, ntg_float >; - --- 10.225/tools/swilena/meta/swilena_morpho.i Sun, 11 Apr 2004 22:22:47 +0200 van-vl_n (oln/s/34_swilena_mo 1.4 600) +++ 10.225(w)/tools/swilena/meta/swilena_morpho.i Mon, 26 Jun 2006 18:34:09 +0200 levill_r (oln/s/34_swilena_mo 1.4 600) @@ -2,6 +2,8 @@ %module swilena_morpho +%include swilena_config.i + /* Algorithms are supported by a simple two-level mechanism: --- 10.225/tools/swilena/meta/swilena_imagesize.i Tue, 29 Jul 2003 18:21:22 +0200 david (oln/s/35_swilena_im 1.2 600) +++ 10.225(w)/tools/swilena/meta/swilena_imagesize.i Mon, 26 Jun 2006 17:48:52 +0200 levill_r (oln/s/35_swilena_im 1.2 600) @@ -1,5 +1,7 @@ // -*- C++ -*- +%include swilena_config.i + /*---------------------------. | oln::image_size structures | `---------------------------*/ --- 10.225/tools/swilena/meta/swilena_image.i Thu, 09 Oct 2003 16:21:55 +0200 burrus_n (oln/s/36_swilena_im 1.7 600) +++ 10.225(w)/tools/swilena/meta/swilena_image.i Wed, 28 Jun 2006 18:39:39 +0200 levill_r (oln/s/36_swilena_im 1.7 600) @@ -1,26 +1,18 @@ // -*- C++ -*- +%include swilena_config.i + %define decl_image(Dim) %include swilena_describe.i +%include swilena_exception.i %include swilena_core.i +%include swilena_basics ## Dim ## d.i + %import swilena_imagesize ## Dim ## d.i %import swilena_point ## Dim ## d.i -#if Dim == 1 -%{ -#include <oln/basics1d.hh> -%} -#elif Dim == 2 -%{ -#include <oln/basics2d.hh> -%} -#elif Dim == 3 -%{ -#include <oln/basics3d.hh> -%} -#endif - +%nodefaultctor oln::io::internal::anything; namespace oln { template<typename T> --- 10.225/tools/swilena/meta/swilena_exception.i Sun, 11 Apr 2004 22:22:47 +0200 van-vl_n (oln/s/37_swilena_ex 1.4 600) +++ 10.225(w)/tools/swilena/meta/swilena_exception.i Fri, 30 Jun 2006 12:14:15 +020Index: 10.225/tools/swilena/meta/swilena_describe.i Index: 10.225/tools/swilena/python/tests/Makefile.am Index: 10.225/tools/swilena/ruby/tests/Makefile.am Index: 10.225/tools/swilena/generate_morpho_instantiations.py Index: 10.225/tools/swilena/meta/swilena_ntg_macros.i Index: 10.225/tools/swilena/meta/swilena_arith.i 0 levill_r (oln/s/37_swilena_ex 1.4 600) @@ -9,7 +9,6 @@ // Olena uses classes that derive from std::exception. Declare it. namespace std { class exception { public: const char *what() const; }; } -%define START_PROTECT %exception { try { $action @@ -24,10 +23,3 @@ SWIG_exception(SWIG_UnknownError, __FUNCTION__); } } -%enddef - -%define END_PROTECT -%exception; -%enddef - -START_PROTECT --- 10.225/tools/swilena/meta/swilena_describe.i Sat, 27 Sep 2003 18:32:13 +0200 burrus_n (oln/s/38_swilena_de 1.3 600) +++ 10.225(w)/tools/swilena/meta/swilena_describe.i Fri, 23 Jun 2006 10:58:27 +0200 levill_r (oln/s/38_swilena_de 1.3 600) @@ -1,4 +1,4 @@ -%include std_string.i +%include std_string.i // -*- C++ -*- %{ #include <sstream> %} --- 10.225/tools/swilena/python/tests/Makefile.am Mon, 19 Apr 2004 13:05:44 +0200 thivol_d (oln/v/15_Makefile.a 1.6 600) +++ 10.225(w)/tools/swilena/python/tests/Makefile.am Wed, 28 Jun 2006 17:52:10 +0200 levill_r (oln/v/15_Makefile.a 1.6 600) @@ -3,7 +3,7 @@ ## Makefile.am for swilena/python/tests ## -dist_noinst_DATA = arith.py conversions.py simple1.py morpho.py +dist_noinst_DATA = sanity.py arith.py conversions.py simple1.py morpho.py TESTS_ENVIRONMENT = \ PYTHONPATH="$(PYTHONPATH):..:$(srcdir)/.." \ --- 10.225/tools/swilena/ruby/tests/Makefile.am Mon, 19 Apr 2004 13:05:44 +0200 thivol_d (oln/v/18_Makefile.a 1.5 600) +++ 10.225(w)/tools/swilena/ruby/tests/Makefile.am Fri, 30 Jun 2006 13:47:58 +0200 levill_r (oln/v/18_Makefile.a 1.5 600) @@ -1,12 +1,12 @@ ## Process this file through Automake to produce Makefile.in -*- Makefile -*- ## -## Makefile.am for swilena/python/tests +## Makefile.am for swilena/ruby/tests ## TESTS_ENVIRONMENT = \ SWILENA_PATH=".." \ IMGDIR="$(top_srcdir)/olena/img" -TESTS = simple1.rb +dist_noinst_DATA = sanity.rb simple1.rb -dist_noinst_DATA = simple1.rb +TESTS = $(dist_noinst_DATA) --- 10.225/tools/swilena/generate_morpho_instantiations.py Mon, 12 Apr 2004 12:56:30 +0200 van-vl_n (oln/v/24_generate_m 1.8 700) +++ 10.225(w)/tools/swilena/generate_morpho_instantiations.py Wed, 28 Jun 2006 15:47:12 +0200 levill_r (oln/v/24_generate_m 1.8 700) @@ -27,6 +27,8 @@ %%module swilena_morpho%(dim)sd_%(str_type)s +%%include swilena_config.i + %%include swilena_exception.i %%include swilena_ntg_macros.i @@ -34,7 +36,7 @@ %%include swilena_morpho.i -%%import swilena_image%(dim)sd.i +%%include swilena_image%(dim)sd.i """ % vars()) --- 10.225/tools/swilena/meta/swilena_ntg_macros.i Mon, 10 Nov 2003 11:19:49 +0100 burrus_n (oln/v/39_swilena_nt 1.1 600) +++ 10.225(w)/tools/swilena/meta/swilena_ntg_macros.i Tue, 27 Jun 2006 16:28:56 +0200 levill_r (oln/v/39_swilena_nt 1.1 600) @@ -1,3 +1,4 @@ +// -*- C++ -*- // FIXME: avoid code repetitions! #define ntg_bin ntg::bin --- 10.225/tools/swilena/meta/swilena_arith.i Mon, 10 Nov 2003 14:09:27 +0100 burrus_n (oln/v/48_swilena_ar 1.1 600) +++ 10.225(w)/tools/swilena/meta/swilena_arith.i Wed, 28 Jun 2006 16:33:37 +0200 levill_r (oln/v/48_swilena_ar 1.1 600) @@ -1,23 +1,13 @@ // -*- C++ -*- +%include swilena_config.i + %include swilena_describe.i %include swilena_core.i %define decl_arith(Dim) -#if Dim == 1 -%{ -#include <oln/basics1d.hh> -%} -#elif Dim == 2 -%{ -#include <oln/basics2d.hh> -%} -#elif Dim == 3 -%{ -#include <oln/basics3d.hh> -%} -#endif +%include swilena_basics ## Dim ## d.i %{ #include <oln/arith/ops.hh> @@ -27,27 +17,27 @@ template<class R, class I1, class I2> static R my_plus(const I1& i1, const I2& i2) - { return ::oln::arith::plus<R>(i1, i2); } + { return ::oln::arith::plus_with_ret<R>(i1, i2); } template<class R, class I1, class I2> static R my_minus(const I1& i1, const I2& i2) - { return ::oln::arith::minus<R>(i1, i2); } + { return ::oln::arith::minus_with_ret<R>(i1, i2); } template<class R, class I1, class I2> static R my_times(const I1& i1, const I2& i2) - { return ::oln::arith::times<R>(i1, i2); } + { return ::oln::arith::times_with_ret<R>(i1, i2); } template<class R, class I1, class I2> staIndex: 10.225/tools/swilena/meta/swilena_conversions.i Index: 10.225/tools/swilena/generate_conversions_instantiations.py Index: 10.225/tools/swilena/generate_arith_instantiations.py Index: 10.225/tools/swilena/python/tests/arith.py tic R my_div(const I1& i1, const I2& i2) - { return ::oln::arith::div<R>(i1, i2); } + { return ::oln::arith::div_with_ret<R>(i1, i2); } template<class R, class I1, class I2> static R my_min(const I1& i1, const I2& i2) - { return ::oln::arith::min<R>(i1, i2); } + { return ::oln::arith::min_with_ret<R>(i1, i2); } template<class R, class I1, class I2> static R my_max(const I1& i1, const I2& i2) - { return ::oln::arith::max<R>(i1, i2); } + { return ::oln::arith::max_with_ret<R>(i1, i2); } %} --- 10.225/tools/swilena/meta/swilena_conversions.i Mon, 10 Nov 2003 14:09:27 +0100 burrus_n (oln/v/49_swilena_co 1.1 600) +++ 10.225(w)/tools/swilena/meta/swilena_conversions.i Wed, 28 Jun 2006 16:34:19 +0200 levill_r (oln/v/49_swilena_co 1.1 600) @@ -1,28 +1,17 @@ // -*- C++ -*- +%include swilena_config.i +%include swilena_basics.i + %include swilena_describe.i %include swilena_core.i %define decl_conversions(Dim) -%{ -#include <oln/convert/basics.hh> -%} - -// FIXME: not very elegant, but %{ %} blocks are not preprocessed. +%include swilena_basics ## Dim ## d.i -#if Dim == 1 %{ -#include <oln/basics1d.hh> -%} -#elif Dim == 2 -%{ -#include <oln/basics2d.hh> -%} -#elif Dim == 3 -%{ -#include <oln/basics3d.hh> +#include <oln/convert/basics.hh> %} -#endif %enddef --- 10.225/tools/swilena/generate_conversions_instantiations.py Mon, 10 Nov 2003 14:09:27 +0100 burrus_n (oln/v/50_generate_c 1.1 700) +++ 10.225(w)/tools/swilena/generate_conversions_instantiations.py Wed, 28 Jun 2006 15:47:36 +0200 levill_r (oln/v/50_generate_c 1.1 700) @@ -19,10 +19,12 @@ %%module swilena_conversions%(dim)sd +%%include swilena_config.i + %%include swilena_exception.i %%include swilena_ntg_macros.i -%%import swilena_image%(dim)sd.i +%%include swilena_image%(dim)sd.i %%import swilena_ntg.i %%include swilena_conversions.i --- 10.225/tools/swilena/generate_arith_instantiations.py Mon, 10 Nov 2003 14:09:27 +0100 burrus_n (oln/v/51_generate_a 1.1 700) +++ 10.225(w)/tools/swilena/generate_arith_instantiations.py Wed, 28 Jun 2006 15:47:24 +0200 levill_r (oln/v/51_generate_a 1.1 700) @@ -19,13 +19,15 @@ %%module swilena_arith%(dim)sd +%%include swilena_config.i + %%include swilena_exception.i %%include swilena_ntg_macros.i %%import swilena_ntg.i %%include swilena_arith.i -%%import swilena_image%(dim)sd.i +%%include swilena_image%(dim)sd.i decl_arith(%(dim)s) --- 10.225/tools/swilena/python/tests/arith.py Mon, 10 Nov 2003 14:09:27 +0100 burrus_n (oln/w/0_arith.py 1.1 700) +++ 10.225(w)/tools/swilena/python/tests/arith.py Wed, 28 Jun 2006 14:48:10 +0200 levill_r (oln/w/0_arith.py 1.1 700) @@ -2,8 +2,8 @@ import os import sys -from swilena_arith2d import * from swilena_image2d import * +from swilena_arith2d import * imgdir = os.environ['IMGDIR']
participants (1)
-
Roland Levillain