00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "CouExpr.hpp"
00011 #include "exprClone.hpp"
00012 #include "exprSum.hpp"
00013
00014
00015 CouExpr operator+(CouExpr &e1, CouExpr &e2) {
00016 return CouExpr (new exprSum (new exprClone (e1.Expression ()),
00017 new exprClone (e2.Expression ())));
00018 }
00019
00020 CouExpr &operator/(CouExpr &e1, CouExpr &e2);
00021 CouExpr &operator%(CouExpr &e1, CouExpr &e2);
00022 CouExpr &operator-(CouExpr &e1, CouExpr &e2);
00023 CouExpr &operator*(CouExpr &e1, CouExpr &e2);
00024 CouExpr &operator^(CouExpr &e1, CouExpr &e2);
00025
00026 CouExpr &sin(CouExpr &e);
00027 CouExpr &cos(CouExpr &e);
00028 CouExpr &log(CouExpr &e);
00029 CouExpr &exp(CouExpr &e);
00030
00031 CouExpr &operator+(CouNumber &e1, CouExpr &e2);
00032 CouExpr &operator/(CouNumber &e1, CouExpr &e2);
00033 CouExpr &operator%(CouNumber &e1, CouExpr &e2);
00034 CouExpr &operator-(CouNumber &e1, CouExpr &e2);
00035 CouExpr &operator*(CouNumber &e1, CouExpr &e2);
00036 CouExpr &operator^(CouNumber &e1, CouExpr &e2);
00037
00038 CouExpr &sin(CouNumber &e);
00039 CouExpr &cos(CouNumber &e);
00040 CouExpr &log(CouNumber &e);
00041 CouExpr &exp(CouNumber &e);
00042
00043 CouExpr &operator+(CouExpr &e1, CouNumber &e2);
00044 CouExpr &operator/(CouExpr &e1, CouNumber &e2);
00045 CouExpr &operator%(CouExpr &e1, CouNumber &e2);
00046 CouExpr &operator-(CouExpr &e1, CouNumber &e2);
00047 CouExpr &operator*(CouExpr &e1, CouNumber &e2);
00048 CouExpr &operator^(CouExpr &e1, CouNumber &e2);
00049