[Fsem-commits] SF.net SVN: fsem: [132] fsem
Status: Beta
Brought to you by:
fabiandortu
|
From: <fab...@us...> - 2007-04-25 13:20:42
|
Revision: 132
http://fsem.svn.sourceforge.net/fsem/?rev=132&view=rev
Author: fabiandortu
Date: 2007-04-25 06:20:43 -0700 (Wed, 25 Apr 2007)
Log Message:
-----------
Corrected bug in function load (14, 15 and 16 arguments). However this bug had no impact on any
calculation previously made.
Added loading for functions of 17, 18 and 18 arguments.
Added test routines for function loading in patch/test_module/
Modified Paths:
--------------
fsem/README
fsem/include-freefem/load.link
fsem/include-fsem/AFunction_ext.hpp
Added Paths:
-----------
fsem/patch/freefem++-2.16-1/
fsem/patch/freefem++-2.16-1/AFunction.hpp.patch
fsem/patch/freefem++-2.16-1/AFunction2.cpp.patch
fsem/patch/freefem++-2.16-1/README
fsem/patch/freefem++-2.16-1/patchfreefem
fsem/patch/test_module/
fsem/patch/test_module/AFunction_ext.hpp
fsem/patch/test_module/fsem_TestLoad.cpp
fsem/patch/test_module/fsem_TestLoad.edp
fsem/patch/test_module/fsem_TestLoad.so
fsem/patch/test_module/include
fsem/patch/test_module/load.link
Modified: fsem/README
===================================================================
--- fsem/README 2007-04-24 14:49:47 UTC (rev 131)
+++ fsem/README 2007-04-25 13:20:43 UTC (rev 132)
@@ -11,9 +11,14 @@
* Freefem++ sources are available in $ffpp
* FSEM sources (the directory where you found this file) are available in $fsem
+ for bash shell:
$ export ffpp=/home/fabian/tmp/freefem++-2.13
$ export fsem=/home/fabian/tmp/fsem/fsem
+ for csh shell:
+ $ setenv ffpp /home/fabian/tmp/freefem++-2.13
+ $ setenv fsem /home/fabian/tmp/fsem/fsem
+
1) A patched version of FreeFEM++ has to be recompiled.
Note that the patch will most probably work on more
recent version of freefem++. Latest test was done on version 2.13.
Modified: fsem/include-freefem/load.link
===================================================================
--- fsem/include-freefem/load.link 2007-04-24 14:49:47 UTC (rev 131)
+++ fsem/include-freefem/load.link 2007-04-25 13:20:43 UTC (rev 132)
@@ -1,6 +1,6 @@
#!/bin/sh
# Create a loadable object from a C++ function defined in a .cpp file
-# $Id: load.link,v 1.25 2006-04-12 05:38:59 hecht Exp $
+# $Id: load.link,v 1.27 2007/03/07 12:51:32 hecht Exp $
do="yes"
DEBUG=""
@@ -54,7 +54,7 @@
-b) bin=$2 ; shift;;
-I*) INC="$INC $1";;
-dll) DLL="$DLL $2";shift;;
- -[Ll]*) LIBS="$LIBS $1"; shift;;
+ -[Ll]*) LIBS="$LIBS $1" ;;
*.cpp) files="$files $1"; o=`basename $1 .cpp` ; fileso="$fileso $o.o";;
*.cp) files="$files $1"; o=`basename $1 .cp` ; fileso="$fileso $o.o";;
*.cxx) files="$files $1"; o=`basename $1 .cxx` ; fileso="$fileso $o.o";;
@@ -97,6 +97,10 @@
SHARED="-shared"
FLAGS='-fPIC';;
# 64 bit Linux needs -fPIC (ALH)
+ SunOS)
+ SHARED="-shared"
+ FLAGS='-fPIC';;
+ # 64 bit Linux needs -fPIC (ALH)
Linux)
FLAGS='-fPIC'
SHARED="-shared " ;;
Modified: fsem/include-fsem/AFunction_ext.hpp
===================================================================
--- fsem/include-fsem/AFunction_ext.hpp 2007-04-24 14:49:47 UTC (rev 131)
+++ fsem/include-fsem/AFunction_ext.hpp 2007-04-25 13:20:43 UTC (rev 132)
@@ -10,12 +10,15 @@
//
// Note: in file includeAFunction.hpp, the class "OneOperator" (around line 400) mut be modified.
+
+// Note: I changed R into RR
+
// ***********************************************
// **** 4 parameters
// ***********************
-template<class R,class A0,class A1,class A2, class A3, class E=E_F0> // extend (4th arg.)
+template<class RR,class A0,class A1,class A2, class A3, class E=E_F0> // extend (4th arg.)
class E_F_F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 & ) ; // extend (4th arg.)
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 & ) ; // extend (4th arg.)
func f;
Expression a0,a1,a2,a3; // extend
E_F_F0F0F0F0_(func ff,
@@ -25,17 +28,17 @@
Expression aa3) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3) {} // extend (4th arg.)
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
- GetAny<A1>((*a1)(s)),
- GetAny<A2>((*a2)(s)),
- GetAny<A3>((*a3)(s)) ) );} // extend (4th arg.)
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
+ GetAny<A1>((*a1)(s)),
+ GetAny<A2>((*a2)(s)),
+ GetAny<A3>((*a3)(s)) ) );} // extend (4th arg.)
virtual size_t nbitem() const {return a3->nbitem(); } // modif
bool MeshIndependent() const
{return a0->MeshIndependent() && a1->MeshIndependent()&& a2->MeshIndependent()&& a3->MeshIndependent();} // extend (4th arg.)
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class CODE=E_F_F0F0F0F0_<R,A,B,C,D,E_F0> > // extend (4th arg.)
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class CODE=E_F_F0F0F0F0_<RR,A,B,C,D,E_F0> > // extend (4th arg.)
class OneOperator4_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -48,7 +51,7 @@
t[2]->CastTo(args[2]),
t[3]->CastTo(args[3]));} // extend
OneOperator4_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -65,9 +68,9 @@
// OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e)
// : r(rr),ArrayOfaType(a,b,c,d,e,false),next(0),pref(0) {throwassert(rr && a && b && c && d);}
-template<class R,class A0,class A1,class A2, class A3, class A4, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4; // extend aX
E_F_F0F0F0F0F0_(func ff, // extend F0
@@ -78,7 +81,7 @@
Expression aa4) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -90,7 +93,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class CODE=E_F_F0F0F0F0F0_<R,A,B,C,D,E,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class CODE=E_F_F0F0F0F0F0_<RR,A,B,C,D,E,E_F0> > // extend
class OneOperator5_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -104,7 +107,7 @@
t[3]->CastTo(args[3]),
t[4]->CastTo(args[4]));} // extend
OneOperator5_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -121,9 +124,9 @@
// OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f)
// : r(rr),ArrayOfaType(a,b,c,d,e,f,false),next(0),pref(0) {throwassert(rr && a && b && c && d && f);}
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5; // extend aX
E_F_F0F0F0F0F0F0_(func ff, // extend F0
@@ -135,7 +138,7 @@
Expression aa5) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -148,7 +151,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class CODE=E_F_F0F0F0F0F0F0_<R,A,B,C,D,E,F,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class CODE=E_F_F0F0F0F0F0F0_<RR,A,B,C,D,E,F,E_F0> > // extend
class OneOperator6_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -163,7 +166,7 @@
t[4]->CastTo(args[4]),
t[5]->CastTo(args[5]));} // extend
OneOperator6_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -182,9 +185,9 @@
// OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f)
// : r(rr),ArrayOfaType(a,b,c,d,e,f,false),next(0),pref(0) {throwassert(rr && a && b && c && d && f);}
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6; // extend aX
E_F_F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -197,7 +200,7 @@
Expression aa6) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -211,7 +214,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class CODE=E_F_F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class CODE=E_F_F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,E_F0> > // extend
class OneOperator7_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -227,7 +230,7 @@
t[5]->CastTo(args[5]),
t[6]->CastTo(args[6]));} // extend
OneOperator7_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -245,9 +248,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7; // extend aX
E_F_F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -261,7 +264,7 @@
Expression aa7) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -276,7 +279,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G , class CODE=E_F_F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G , class CODE=E_F_F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,E_F0> > // extend
class OneOperator8_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -293,7 +296,7 @@
t[6]->CastTo(args[6]),
t[7]->CastTo(args[7]));} // extend
OneOperator8_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -311,9 +314,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8; // extend aX
E_F_F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -328,7 +331,7 @@
Expression aa8) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -344,7 +347,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class CODE=E_F_F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class CODE=E_F_F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,E_F0> > // extend
class OneOperator9_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -362,7 +365,7 @@
t[7]->CastTo(args[7]),
t[8]->CastTo(args[8]));} // extend
OneOperator9_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -383,9 +386,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -401,7 +404,7 @@
Expression aa9) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -419,7 +422,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class CODE=E_F_F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class CODE=E_F_F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,E_F0> > // extend
class OneOperator10_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -438,7 +441,7 @@
t[8]->CastTo(args[8]),
t[9]->CastTo(args[9]));} // extend
OneOperator10_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -459,9 +462,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 & ) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 & ) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -478,7 +481,7 @@
Expression aa10) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -497,7 +500,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,K,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,E_F0> > // extend
class OneOperator11_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -517,7 +520,7 @@
t[9]->CastTo(args[9]),
t[10]->CastTo(args[10]));} // extend
OneOperator11_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -540,9 +543,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -560,7 +563,7 @@
Expression aa11) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -580,7 +583,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,K,L,E_F0> > // extend
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,E_F0> > // extend
class OneOperator12_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -601,7 +604,7 @@
t[10]->CastTo(args[10]),
t[11]->CastTo(args[11]) );} // extend
OneOperator12_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -624,9 +627,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -645,7 +648,7 @@
Expression aa12) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -666,7 +669,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,K,L,M,E_F0> > // extend (3 pts)
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,E_F0> > // extend (3 pts)
class OneOperator13_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -688,7 +691,7 @@
t[11]->CastTo(args[11]),
t[12]->CastTo(args[12]) );} // extend (2pts)
OneOperator13_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -712,9 +715,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A12 &, const A13 &) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A13 &) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -734,7 +737,7 @@
Expression aa13) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12), a13(aa13) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -757,7 +760,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M ,class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,K,L,M,N,E_F0> > // extend (3 pts)
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M ,class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,N,E_F0> > // extend (3 pts)
class OneOperator14_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -780,7 +783,7 @@
t[12]->CastTo(args[12]),
t[13]->CastTo(args[13]) );} // extend (2pts)
OneOperator14_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -807,9 +810,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14,class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14,class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A12 &, const A13 &) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A13 &, const A14 &) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -830,7 +833,7 @@
Expression aa14) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12), a13(aa13), a14(aa14) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -854,7 +857,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M, class O=N, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,E_F0> > // extend (3 pts)
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M, class O=N, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,E_F0> > // extend (3 pts)
class OneOperator15_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -878,7 +881,7 @@
t[13]->CastTo(args[13]),
t[14]->CastTo(args[14]) );} // extend (2pts)
OneOperator15_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -904,9 +907,9 @@
// ***********************
//
-template<class R,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14, class A15, class E=E_F0> // extend AX
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14, class A15, class E=E_F0> // extend AX
class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
- typedef R (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A12 &, const A13 &, const A14 &) ; // extend AX
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A13 &, const A14 &, const A15 &) ; // extend AX
func f;
Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15; // extend aX
E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
@@ -928,7 +931,7 @@
Expression aa15) // extend
: f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12), a13(aa13), a14(aa14) , a15(aa15) {} // extend aX
AnyType operator()(Stack s) const
- {return SetAny<R>( f( GetAny<A0>((*a0)(s)),
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
GetAny<A1>((*a1)(s)),
GetAny<A2>((*a2)(s)),
GetAny<A3>((*a3)(s)),
@@ -953,7 +956,7 @@
};
-template<class R,class A=R,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M,class O=N, class P=O , class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<R,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,E_F0> > // extend (3 pts)
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M,class O=N, class P=O , class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,E_F0> > // extend (3 pts)
class OneOperator16_ : public OneOperator { // 3->4
aType r; // return type
typedef typename CODE::func func;
@@ -978,7 +981,7 @@
t[14]->CastTo(args[14]),
t[15]->CastTo(args[15]) );} // extend (2pts)
OneOperator16_(func ff): // 3->4
- OneOperator(map_type[typeid(R).name()],
+ OneOperator(map_type[typeid(RR).name()],
map_type[typeid(A).name()],
map_type[typeid(B).name()],
map_type[typeid(C).name()],
@@ -998,3 +1001,339 @@
f(ff){}
};
+
+//
+//
+//
+// ***********************************************
+// **** 17 parameters
+// ***********************
+//
+
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14, class A15, class A16, class E=E_F0> // extend AX
+class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A13 &, const A14 &, const A15 &, const A16 &) ; // extend AX
+ func f;
+ Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16; // extend aX
+ E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
+ Expression aa0,
+ Expression aa1,
+ Expression aa2,
+ Expression aa3,
+ Expression aa4,
+ Expression aa5,
+ Expression aa6,
+ Expression aa7,
+ Expression aa8,
+ Expression aa9,
+ Expression aa10,
+ Expression aa11,
+ Expression aa12,
+ Expression aa13,
+ Expression aa14,
+ Expression aa15,
+ Expression aa16) // extend
+ : f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12), a13(aa13), a14(aa14) , a15(aa15) , a16(aa16) {} // extend aX (2pts)
+ AnyType operator()(Stack s) const
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
+ GetAny<A1>((*a1)(s)),
+ GetAny<A2>((*a2)(s)),
+ GetAny<A3>((*a3)(s)),
+ GetAny<A4>((*a4)(s)),
+ GetAny<A5>((*a5)(s)),
+ GetAny<A6>((*a6)(s)),
+ GetAny<A7>((*a7)(s)),
+ GetAny<A8>((*a8)(s)),
+ GetAny<A9>((*a9)(s)),
+ GetAny<A10>((*a10)(s)),
+ GetAny<A11>((*a11)(s)),
+ GetAny<A12>((*a12)(s)),
+ GetAny<A13>((*a13)(s)),
+ GetAny<A14>((*a14)(s)),
+ GetAny<A15>((*a15)(s)),
+ GetAny<A16>((*a16)(s))) );} // extend aX (2 pts)
+ virtual size_t nbitem() const {return a16->nbitem(); } // modif
+ bool MeshIndependent() const
+ {return a0->MeshIndependent() && a1->MeshIndependent()&& a2->MeshIndependent()
+ && a3->MeshIndependent()&& a4->MeshIndependent()&& a5->MeshIndependent()&& a6->MeshIndependent()
+ && a7->MeshIndependent()&& a8->MeshIndependent()&& a9->MeshIndependent()&& a10->MeshIndependent()&& a11->MeshIndependent()&& a12->MeshIndependent()
+ && a13->MeshIndependent()&& a14->MeshIndependent()&& a15->MeshIndependent()&& a16->MeshIndependent();} // extend aX
+
+};
+
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M,class O=N, class P=O , class Q=P ,class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,E_F0> > // extend (3 pts)
+class OneOperator17_ : public OneOperator { // 3->4
+ aType r; // return type
+ typedef typename CODE::func func;
+ func f;
+public:
+ E_F0 * code(const basicAC_F0 & args) const
+ { return new CODE(f,
+ t[0]->CastTo(args[0]),
+ t[1]->CastTo(args[1]),
+ t[2]->CastTo(args[2]),
+ t[3]->CastTo(args[3]),
+ t[4]->CastTo(args[4]),
+ t[5]->CastTo(args[5]),
+ t[6]->CastTo(args[6]),
+ t[7]->CastTo(args[7]),
+ t[8]->CastTo(args[8]),
+ t[9]->CastTo(args[9]),
+ t[10]->CastTo(args[10]),
+ t[11]->CastTo(args[11]),
+ t[12]->CastTo(args[12]),
+ t[13]->CastTo(args[13]),
+ t[14]->CastTo(args[14]),
+ t[15]->CastTo(args[15]),
+ t[16]->CastTo(args[16]) );} // extend (2pts)
+ OneOperator17_(func ff): // 3->4
+ OneOperator(map_type[typeid(RR).name()],
+ map_type[typeid(A).name()],
+ map_type[typeid(B).name()],
+ map_type[typeid(C).name()],
+ map_type[typeid(D).name()],
+ map_type[typeid(E).name()],
+ map_type[typeid(F).name()],
+ map_type[typeid(G).name()],
+ map_type[typeid(H).name()],
+ map_type[typeid(I).name()],
+ map_type[typeid(J).name()],
+ map_type[typeid(K).name()],
+ map_type[typeid(L).name()],
+ map_type[typeid(M).name()],
+ map_type[typeid(N).name()],
+ map_type[typeid(O).name()],
+ map_type[typeid(P).name()],
+ map_type[typeid(Q).name()]), // extend
+ f(ff){}
+};
+
+
+//
+//
+//
+//
+// ***********************************************
+// **** 18 parameters
+// ***********************
+//
+
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14, class A15, class A16, class A17, class E=E_F0> // extend AX
+class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A13 &, const A14 &, const A15 &, const A16 &, const A17 &) ; // extend AX
+ func f;
+ Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17; // extend aX
+ E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
+ Expression aa0,
+ Expression aa1,
+ Expression aa2,
+ Expression aa3,
+ Expression aa4,
+ Expression aa5,
+ Expression aa6,
+ Expression aa7,
+ Expression aa8,
+ Expression aa9,
+ Expression aa10,
+ Expression aa11,
+ Expression aa12,
+ Expression aa13,
+ Expression aa14,
+ Expression aa15,
+ Expression aa16,
+ Expression aa17) // extend
+ : f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12), a13(aa13), a14(aa14) , a15(aa15) , a16(aa16) , a17(aa17) {} // extend aX (2pts)
+ AnyType operator()(Stack s) const
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
+ GetAny<A1>((*a1)(s)),
+ GetAny<A2>((*a2)(s)),
+ GetAny<A3>((*a3)(s)),
+ GetAny<A4>((*a4)(s)),
+ GetAny<A5>((*a5)(s)),
+ GetAny<A6>((*a6)(s)),
+ GetAny<A7>((*a7)(s)),
+ GetAny<A8>((*a8)(s)),
+ GetAny<A9>((*a9)(s)),
+ GetAny<A10>((*a10)(s)),
+ GetAny<A11>((*a11)(s)),
+ GetAny<A12>((*a12)(s)),
+ GetAny<A13>((*a13)(s)),
+ GetAny<A14>((*a14)(s)),
+ GetAny<A15>((*a15)(s)),
+ GetAny<A16>((*a16)(s)),
+ GetAny<A17>((*a17)(s)) ) );} // extend aX (2 pts)
+ virtual size_t nbitem() const {return a17->nbitem(); } // modif
+ bool MeshIndependent() const
+ {return a0->MeshIndependent() && a1->MeshIndependent()&& a2->MeshIndependent()
+ && a3->MeshIndependent()&& a4->MeshIndependent()&& a5->MeshIndependent()&& a6->MeshIndependent()
+ && a7->MeshIndependent()&& a8->MeshIndependent()&& a9->MeshIndependent()&& a10->MeshIndependent()&& a11->MeshIndependent()&& a12->MeshIndependent()
+ && a13->MeshIndependent()&& a14->MeshIndependent()&& a15->MeshIndependent()&& a16->MeshIndependent()&& a17->MeshIndependent();} // extend aX
+
+};
+
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M,class O=N, class P=O , class Q=P , class R=Q ,class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,E_F0> > // extend (3 pts)
+class OneOperator18_ : public OneOperator { // 3->4
+ aType r; // return type
+ typedef typename CODE::func func;
+ func f;
+public:
+ E_F0 * code(const basicAC_F0 & args) const
+ { return new CODE(f,
+ t[0]->CastTo(args[0]),
+ t[1]->CastTo(args[1]),
+ t[2]->CastTo(args[2]),
+ t[3]->CastTo(args[3]),
+ t[4]->CastTo(args[4]),
+ t[5]->CastTo(args[5]),
+ t[6]->CastTo(args[6]),
+ t[7]->CastTo(args[7]),
+ t[8]->CastTo(args[8]),
+ t[9]->CastTo(args[9]),
+ t[10]->CastTo(args[10]),
+ t[11]->CastTo(args[11]),
+ t[12]->CastTo(args[12]),
+ t[13]->CastTo(args[13]),
+ t[14]->CastTo(args[14]),
+ t[15]->CastTo(args[15]),
+ t[16]->CastTo(args[16]),
+ t[17]->CastTo(args[17]));} // extend (2pts)
+ OneOperator18_(func ff): // 3->4
+ OneOperator(map_type[typeid(RR).name()],
+ map_type[typeid(A).name()],
+ map_type[typeid(B).name()],
+ map_type[typeid(C).name()],
+ map_type[typeid(D).name()],
+ map_type[typeid(E).name()],
+ map_type[typeid(F).name()],
+ map_type[typeid(G).name()],
+ map_type[typeid(H).name()],
+ map_type[typeid(I).name()],
+ map_type[typeid(J).name()],
+ map_type[typeid(K).name()],
+ map_type[typeid(L).name()],
+ map_type[typeid(M).name()],
+ map_type[typeid(N).name()],
+ map_type[typeid(O).name()],
+ map_type[typeid(P).name()],
+ map_type[typeid(Q).name()],
+ map_type[typeid(R).name()]), // extend
+ f(ff){}
+};
+
+
+
+
+//
+//
+//
+// ***********************************************
+// **** 19 parameters
+// ***********************
+//
+
+template<class RR,class A0,class A1,class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14, class A15, class A16, class A17, class A18, class E=E_F0> // extend AX
+class E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_ :public E { public: // extend
+ typedef RR (*func)(const A0 &,const A1 & , const A2 &, const A3 &, const A4 &, const A5 &, const A6 &, const A7 &, const A8 &, const A9 &, const A10 &, const A11 &, const A12 &, const A13 &, const A14 &, const A15 &, const A16 &, const A17 &, const A18 &) ; // extend AX
+ func f;
+ Expression a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18; // extend aX
+ E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_(func ff, // extend F0
+ Expression aa0,
+ Expression aa1,
+ Expression aa2,
+ Expression aa3,
+ Expression aa4,
+ Expression aa5,
+ Expression aa6,
+ Expression aa7,
+ Expression aa8,
+ Expression aa9,
+ Expression aa10,
+ Expression aa11,
+ Expression aa12,
+ Expression aa13,
+ Expression aa14,
+ Expression aa15,
+ Expression aa16,
+ Expression aa17,
+ Expression aa18) // extend
+ : f(ff), a0(aa0), a1(aa1), a2(aa2), a3(aa3), a4(aa4), a5(aa5), a6(aa6), a7(aa7), a8(aa8), a9(aa9), a10(aa10), a11(aa11), a12(aa12), a13(aa13), a14(aa14) , a15(aa15) , a16(aa16) , a17(aa17) , a18(aa18) {} // extend aX (2pts)
+ AnyType operator()(Stack s) const
+ {return SetAny<RR>( f( GetAny<A0>((*a0)(s)),
+ GetAny<A1>((*a1)(s)),
+ GetAny<A2>((*a2)(s)),
+ GetAny<A3>((*a3)(s)),
+ GetAny<A4>((*a4)(s)),
+ GetAny<A5>((*a5)(s)),
+ GetAny<A6>((*a6)(s)),
+ GetAny<A7>((*a7)(s)),
+ GetAny<A8>((*a8)(s)),
+ GetAny<A9>((*a9)(s)),
+ GetAny<A10>((*a10)(s)),
+ GetAny<A11>((*a11)(s)),
+ GetAny<A12>((*a12)(s)),
+ GetAny<A13>((*a13)(s)),
+ GetAny<A14>((*a14)(s)),
+ GetAny<A15>((*a15)(s)),
+ GetAny<A16>((*a16)(s)),
+ GetAny<A17>((*a17)(s)),
+ GetAny<A18>((*a18)(s))) );} // extend aX (2 pts)
+ virtual size_t nbitem() const {return a18->nbitem(); } // modif
+ bool MeshIndependent() const
+ {return a0->MeshIndependent() && a1->MeshIndependent()&& a2->MeshIndependent()
+ && a3->MeshIndependent()&& a4->MeshIndependent()&& a5->MeshIndependent()&& a6->MeshIndependent()
+ && a7->MeshIndependent()&& a8->MeshIndependent()&& a9->MeshIndependent()&& a10->MeshIndependent()&& a11->MeshIndependent()&& a12->MeshIndependent()
+ && a13->MeshIndependent()&& a14->MeshIndependent()&& a15->MeshIndependent()&& a16->MeshIndependent()&& a17->MeshIndependent()&& a18->MeshIndependent();} // extend aX
+
+};
+
+template<class RR,class A=RR,class B=A,class C=B, class D=C ,class E=D ,class F=E ,class G=F ,class H=G ,class I=H , class J=I , class K=J, class L=K, class M=L, class N=M,class O=N, class P=O , class Q=P , class R=Q , class S=R, class CODE=E_F_F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0_<RR,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,E_F0> > // extend (3 pts)
+class OneOperator19_ : public OneOperator { // 3->4
+ aType r; // return type
+ typedef typename CODE::func func;
+ func f;
+public:
+ E_F0 * code(const basicAC_F0 & args) const
+ { return new CODE(f,
+ t[0]->CastTo(args[0]),
+ t[1]->CastTo(args[1]),
+ t[2]->CastTo(args[2]),
+ t[3]->CastTo(args[3]),
+ t[4]->CastTo(args[4]),
+ t[5]->CastTo(args[5]),
+ t[6]->CastTo(args[6]),
+ t[7]->CastTo(args[7]),
+ t[8]->CastTo(args[8]),
+ t[9]->CastTo(args[9]),
+ t[10]->CastTo(args[10]),
+ t[11]->CastTo(args[11]),
+ t[12]->CastTo(args[12]),
+ t[13]->CastTo(args[13]),
+ t[14]->CastTo(args[14]),
+ t[15]->CastTo(args[15]),
+ t[16]->CastTo(args[16]),
+ t[17]->CastTo(args[17]),
+ t[18]->CastTo(args[18]));} // extend (2pts)
+ OneOperator19_(func ff): // 3->4
+ OneOperator(map_type[typeid(RR).name()],
+ map_type[typeid(A).name()],
+ map_type[typeid(B).name()],
+ map_type[typeid(C).name()],
+ map_type[typeid(D).name()],
+ map_type[typeid(E).name()],
+ map_type[typeid(F).name()],
+ map_type[typeid(G).name()],
+ map_type[typeid(H).name()],
+ map_type[typeid(I).name()],
+ map_type[typeid(J).name()],
+ map_type[typeid(K).name()],
+ map_type[typeid(L).name()],
+ map_type[typeid(M).name()],
+ map_type[typeid(N).name()],
+ map_type[typeid(O).name()],
+ map_type[typeid(P).name()],
+ map_type[typeid(Q).name()],
+ map_type[typeid(R).name()],
+ map_type[typeid(S).name()]), // extend
+ f(ff){}
+};
+
Added: fsem/patch/freefem++-2.16-1/AFunction.hpp.patch
===================================================================
--- fsem/patch/freefem++-2.16-1/AFunction.hpp.patch (rev 0)
+++ fsem/patch/freefem++-2.16-1/AFunction.hpp.patch 2007-04-25 13:20:43 UTC (rev 132)
@@ -0,0 +1,130 @@
+381c381
+< aType tt[11];
+---
+> aType tt[19];
+400,401c400,401
+< :n(3),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;}
+<
+---
+> :n(3),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;}
+>
+403,404c403,404
+< :n(4),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d;
+< /* cout << * a << *b << * c << * d << " ---------" << endl; */}
+---
+> :n(4),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d;
+> /* cout << * a << *b << * c << * d << " ---------" << endl; */}
+408,428c408
+< :n(6),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; }
+<
+< explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+< const aType & f,const aType & g,
+< bool ell=false)
+< :n(7),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; } // (6 args) Added by Fabian Dortu
+<
+< explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+< const aType & f,const aType & g,const aType & h,
+< bool ell=false)
+< :n(8),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; } // (7 args) Added by Fabian Dortu
+<
+< explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+< const aType & f,const aType & g,const aType & h, const aType & i,
+< bool ell=false)
+< :n(9),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; } // (8 args) Added by Fabian Dortu
+<
+< explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d, const aType & e,
+< const aType & f,const aType & g,const aType & h, const aType & i, const aType & j,
+< bool ell=false)
+< :n(10),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; } // (10 args) Added by Fabian Dortu
+---
+> :n(6),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; }
+430,433c410,475
+< explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,const aType & f,const aType & g,const aType & h, const aType & i, const aType & j, const aType & k,bool ell=false)
+< :n(11),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; } // (10 args) Added by Fabian Dortu
+<
+<
+---
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,
+> bool ell=false)
+> :n(7),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; } // (6 args) Added by Fabian Dortu
+>
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,
+> bool ell=false)
+> :n(8),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; } // (7 args) Added by Fabian Dortu
+>
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,
+> bool ell=false)
+> :n(9),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; } // (8 args) Added by Fabian Dortu
+>
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> bool ell=false)
+> :n(10),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; } // (10 args) Added by Fabian Dortu
+>
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,bool ell=false)
+> :n(11),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; } // (10 args) Added by Fabian Dortu
+>
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,bool ell=false)
+> :n(12),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; }
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,bool ell=false)
+> :n(13),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; }
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,const aType & n,bool ell=false)
+> :n(14),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; t[13]=n; }
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,const aType & n,const aType & o, bool ell=false)
+> :n(15),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; t[13]=n; t[14]=o; }
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,const aType & n,const aType & o,
+> const aType & p, bool ell=false)
+> :n(16),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; t[13]=n; t[14]=o; t[15]=p; }
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,const aType & n,const aType & o,
+> const aType & p,const aType & q, bool ell=false)
+> :n(17),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; t[13]=n; t[14]=o; t[15]=p; t[16]=q;}
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,const aType & n,const aType & o,
+> const aType & p,const aType & q,const aType & r, bool ell=false)
+> :n(18),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; t[13]=n; t[14]=o; t[15]=p; t[16]=q;
+> t[17]=r;}
+> explicit ArrayOfaType(const aType & a,const aType & b,const aType & c,const aType & d,const aType & e,
+> const aType & f,const aType & g,const aType & h,const aType & i,const aType & j,
+> const aType & k,const aType & l,const aType & m,const aType & n,const aType & o,
+> const aType & p,const aType & q,const aType & r,const aType & s, bool ell=false)
+> :n(19),t(tt),ellipse(ell) {t[0]=a,t[1]=b;t[2]=c;t[3]=d; t[4]=e; t[5]=f; t[6]=g; t[7]=h; t[8]=i; t[9]=j; t[10]=k; t[11]=l; t[12]=m; t[13]=n; t[14]=o; t[15]=p; t[16]=q;
+> t[17]=r; t[18]=s;}
+> // Note from F.Dortu and J.Bogdanowicz: t[19]=t will cause compilation error. Skip "t" and try with "u" ?!
+>
+>
+484,485c526,539
+<
+<
+---
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m, aType n);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m, aType n, aType o);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m, aType n, aType o,
+> aType p);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m, aType n, aType o,
+> aType p, aType q);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m, aType n, aType o,
+> aType p, aType q,aType r);
+> OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j, aType k, aType l, aType m, aType n, aType o,
+> aType p, aType q,aType r, aType s);
+>
Added: fsem/patch/freefem++-2.16-1/AFunction2.cpp.patch
===================================================================
--- fsem/patch/freefem++-2.16-1/AFunction2.cpp.patch (rev 0)
+++ fsem/patch/freefem++-2.16-1/AFunction2.cpp.patch 2007-04-25 13:20:43 UTC (rev 132)
@@ -0,0 +1,48 @@
+301c301,345
+<
+---
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k && l);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l, aType m)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,m,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k && l && m);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l, aType m, aType n)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,m,n,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k && l && m && n);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l, aType m, aType n, aType o)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k && l && m && n && o);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l, aType m, aType n, aType o, aType p)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k && l && m && n && o && p);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l, aType m, aType n, aType o, aType p, aType q)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,false),next(0),pref(0)
+> {throwassert(rr && a && b && c && d && e && f && g && h && i && j && k && l && m && n && o && p && q);}
+>
+> OneOperator::OneOperator(aType rr,aType a,aType b,aType c,aType d,aType e,aType f, aType g, aType h, aType i, aType j,
+> aType k, aType l, aType m, aType n, aType o, aType p, aType q, aType r)
+> : r(rr),ArrayOfaType(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,false),next(0),p...
[truncated message content] |