X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=cint%2Fdummies.h;h=6eb17652e76c97c240b17649cf5a07a5ddde7a87;hp=3f017b46fa68a04b524647bb8a58b6a8b4e823b0;hb=fe48203c63c543f1c975f329d07306da7ad0950d;hpb=956eeb82c513a723e864edefa857133282cf692b diff --git a/cint/dummies.h b/cint/dummies.h index 3f017b46..6eb17652 100644 --- a/cint/dummies.h +++ b/cint/dummies.h @@ -5,71 +5,106 @@ * Please do not modify it directly, edit the perl script instead! */ -// fixes for sin(x) -inline ex sin(symbol const & x) { return sin(ex(x)); } -inline ex sin(function const & x) { return sin(ex(x)); } -inline ex sin(constant const & x) { return sin(ex(x)); } -inline ex sin(idx const & x) { return sin(ex(x)); } -inline ex sin(lorentzidx const & x) { return sin(ex(x)); } -inline ex sin(coloridx const & x) { return sin(ex(x)); } - -// fixes for cos(x) -inline ex cos(symbol const & x) { return cos(ex(x)); } -inline ex cos(function const & x) { return cos(ex(x)); } -inline ex cos(constant const & x) { return cos(ex(x)); } -inline ex cos(idx const & x) { return cos(ex(x)); } -inline ex cos(lorentzidx const & x) { return cos(ex(x)); } -inline ex cos(coloridx const & x) { return cos(ex(x)); } - -// fixes for tan(x) -inline ex tan(symbol const & x) { return tan(ex(x)); } -inline ex tan(function const & x) { return tan(ex(x)); } -inline ex tan(constant const & x) { return tan(ex(x)); } -inline ex tan(idx const & x) { return tan(ex(x)); } -inline ex tan(lorentzidx const & x) { return tan(ex(x)); } -inline ex tan(coloridx const & x) { return tan(ex(x)); } - -// fixes for asin(x) -inline ex asin(symbol const & x) { return asin(ex(x)); } -inline ex asin(function const & x) { return asin(ex(x)); } -inline ex asin(constant const & x) { return asin(ex(x)); } -inline ex asin(idx const & x) { return asin(ex(x)); } -inline ex asin(lorentzidx const & x) { return asin(ex(x)); } -inline ex asin(coloridx const & x) { return asin(ex(x)); } - -// fixes for acos(x) -inline ex acos(symbol const & x) { return acos(ex(x)); } -inline ex acos(function const & x) { return acos(ex(x)); } -inline ex acos(constant const & x) { return acos(ex(x)); } -inline ex acos(idx const & x) { return acos(ex(x)); } -inline ex acos(lorentzidx const & x) { return acos(ex(x)); } -inline ex acos(coloridx const & x) { return acos(ex(x)); } - -// fixes for atan(x) -inline ex atan(symbol const & x) { return atan(ex(x)); } -inline ex atan(function const & x) { return atan(ex(x)); } -inline ex atan(constant const & x) { return atan(ex(x)); } -inline ex atan(idx const & x) { return atan(ex(x)); } -inline ex atan(lorentzidx const & x) { return atan(ex(x)); } -inline ex atan(coloridx const & x) { return atan(ex(x)); } - -// fixes for exp(x) -inline ex exp(symbol const & x) { return exp(ex(x)); } -inline ex exp(function const & x) { return exp(ex(x)); } -inline ex exp(constant const & x) { return exp(ex(x)); } -inline ex exp(idx const & x) { return exp(ex(x)); } -inline ex exp(lorentzidx const & x) { return exp(ex(x)); } -inline ex exp(coloridx const & x) { return exp(ex(x)); } - -// fixes for log(x) -inline ex log(symbol const & x) { return log(ex(x)); } -inline ex log(function const & x) { return log(ex(x)); } -inline ex log(constant const & x) { return log(ex(x)); } -inline ex log(idx const & x) { return log(ex(x)); } -inline ex log(lorentzidx const & x) { return log(ex(x)); } -inline ex log(coloridx const & x) { return log(ex(x)); } - -// fixes for sqrt(x) +#if (!defined(G_CINTVERSION)) || (G_CINTVERSION < 501437) +// this dummy file seems to be no longer needed for cint >= 5.14.37 + +// fixes for function sin(x) +inline function sin(symbol const & x) { return sin(ex(x)); } +inline function sin(function const & x) { return sin(ex(x)); } +inline function sin(constant const & x) { return sin(ex(x)); } +inline function sin(idx const & x) { return sin(ex(x)); } +inline function sin(lorentzidx const & x) { return sin(ex(x)); } +inline function sin(coloridx const & x) { return sin(ex(x)); } + +// fixes for function cos(x) +inline function cos(symbol const & x) { return cos(ex(x)); } +inline function cos(function const & x) { return cos(ex(x)); } +inline function cos(constant const & x) { return cos(ex(x)); } +inline function cos(idx const & x) { return cos(ex(x)); } +inline function cos(lorentzidx const & x) { return cos(ex(x)); } +inline function cos(coloridx const & x) { return cos(ex(x)); } + +// fixes for function tan(x) +inline function tan(symbol const & x) { return tan(ex(x)); } +inline function tan(function const & x) { return tan(ex(x)); } +inline function tan(constant const & x) { return tan(ex(x)); } +inline function tan(idx const & x) { return tan(ex(x)); } +inline function tan(lorentzidx const & x) { return tan(ex(x)); } +inline function tan(coloridx const & x) { return tan(ex(x)); } + +// fixes for function asin(x) +inline function asin(symbol const & x) { return asin(ex(x)); } +inline function asin(function const & x) { return asin(ex(x)); } +inline function asin(constant const & x) { return asin(ex(x)); } +inline function asin(idx const & x) { return asin(ex(x)); } +inline function asin(lorentzidx const & x) { return asin(ex(x)); } +inline function asin(coloridx const & x) { return asin(ex(x)); } + +// fixes for function acos(x) +inline function acos(symbol const & x) { return acos(ex(x)); } +inline function acos(function const & x) { return acos(ex(x)); } +inline function acos(constant const & x) { return acos(ex(x)); } +inline function acos(idx const & x) { return acos(ex(x)); } +inline function acos(lorentzidx const & x) { return acos(ex(x)); } +inline function acos(coloridx const & x) { return acos(ex(x)); } + +// fixes for function atan(x) +inline function atan(symbol const & x) { return atan(ex(x)); } +inline function atan(function const & x) { return atan(ex(x)); } +inline function atan(constant const & x) { return atan(ex(x)); } +inline function atan(idx const & x) { return atan(ex(x)); } +inline function atan(lorentzidx const & x) { return atan(ex(x)); } +inline function atan(coloridx const & x) { return atan(ex(x)); } + +// fixes for function exp(x) +inline function exp(symbol const & x) { return exp(ex(x)); } +inline function exp(function const & x) { return exp(ex(x)); } +inline function exp(constant const & x) { return exp(ex(x)); } +inline function exp(idx const & x) { return exp(ex(x)); } +inline function exp(lorentzidx const & x) { return exp(ex(x)); } +inline function exp(coloridx const & x) { return exp(ex(x)); } + +// fixes for function log(x) +inline function log(symbol const & x) { return log(ex(x)); } +inline function log(function const & x) { return log(ex(x)); } +inline function log(constant const & x) { return log(ex(x)); } +inline function log(idx const & x) { return log(ex(x)); } +inline function log(lorentzidx const & x) { return log(ex(x)); } +inline function log(coloridx const & x) { return log(ex(x)); } + +// fixes for function sinh(x) +inline function sinh(symbol const & x) { return sinh(ex(x)); } +inline function sinh(function const & x) { return sinh(ex(x)); } +inline function sinh(constant const & x) { return sinh(ex(x)); } +inline function sinh(idx const & x) { return sinh(ex(x)); } +inline function sinh(lorentzidx const & x) { return sinh(ex(x)); } +inline function sinh(coloridx const & x) { return sinh(ex(x)); } + +// fixes for function cosh(x) +inline function cosh(symbol const & x) { return cosh(ex(x)); } +inline function cosh(function const & x) { return cosh(ex(x)); } +inline function cosh(constant const & x) { return cosh(ex(x)); } +inline function cosh(idx const & x) { return cosh(ex(x)); } +inline function cosh(lorentzidx const & x) { return cosh(ex(x)); } +inline function cosh(coloridx const & x) { return cosh(ex(x)); } + +// fixes for function tanh(x) +inline function tanh(symbol const & x) { return tanh(ex(x)); } +inline function tanh(function const & x) { return tanh(ex(x)); } +inline function tanh(constant const & x) { return tanh(ex(x)); } +inline function tanh(idx const & x) { return tanh(ex(x)); } +inline function tanh(lorentzidx const & x) { return tanh(ex(x)); } +inline function tanh(coloridx const & x) { return tanh(ex(x)); } + +// fixes for function abs(x) +inline function abs(symbol const & x) { return abs(ex(x)); } +inline function abs(function const & x) { return abs(ex(x)); } +inline function abs(constant const & x) { return abs(ex(x)); } +inline function abs(idx const & x) { return abs(ex(x)); } +inline function abs(lorentzidx const & x) { return abs(ex(x)); } +inline function abs(coloridx const & x) { return abs(ex(x)); } + +// fixes for ex sqrt(x) inline ex sqrt(symbol const & x) { return sqrt(ex(x)); } inline ex sqrt(function const & x) { return sqrt(ex(x)); } inline ex sqrt(constant const & x) { return sqrt(ex(x)); } @@ -77,39 +112,243 @@ inline ex sqrt(idx const & x) { return sqrt(ex(x)); } inline ex sqrt(lorentzidx const & x) { return sqrt(ex(x)); } inline ex sqrt(coloridx const & x) { return sqrt(ex(x)); } -// fixes for sinh(x) -inline ex sinh(symbol const & x) { return sinh(ex(x)); } -inline ex sinh(function const & x) { return sinh(ex(x)); } -inline ex sinh(constant const & x) { return sinh(ex(x)); } -inline ex sinh(idx const & x) { return sinh(ex(x)); } -inline ex sinh(lorentzidx const & x) { return sinh(ex(x)); } -inline ex sinh(coloridx const & x) { return sinh(ex(x)); } - -// fixes for cosh(x) -inline ex cosh(symbol const & x) { return cosh(ex(x)); } -inline ex cosh(function const & x) { return cosh(ex(x)); } -inline ex cosh(constant const & x) { return cosh(ex(x)); } -inline ex cosh(idx const & x) { return cosh(ex(x)); } -inline ex cosh(lorentzidx const & x) { return cosh(ex(x)); } -inline ex cosh(coloridx const & x) { return cosh(ex(x)); } - -// fixes for tanh(x) -inline ex tanh(symbol const & x) { return tanh(ex(x)); } -inline ex tanh(function const & x) { return tanh(ex(x)); } -inline ex tanh(constant const & x) { return tanh(ex(x)); } -inline ex tanh(idx const & x) { return tanh(ex(x)); } -inline ex tanh(lorentzidx const & x) { return tanh(ex(x)); } -inline ex tanh(coloridx const & x) { return tanh(ex(x)); } - -// fixes for abs(x) -inline ex abs(symbol const & x) { return abs(ex(x)); } -inline ex abs(function const & x) { return abs(ex(x)); } -inline ex abs(constant const & x) { return abs(ex(x)); } -inline ex abs(idx const & x) { return abs(ex(x)); } -inline ex abs(lorentzidx const & x) { return abs(ex(x)); } -inline ex abs(coloridx const & x) { return abs(ex(x)); } - -// fixes for pow(x,y) +// fixes for function atan2(x,y) +inline function atan2(symbol const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(symbol const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(function const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(constant const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(idx const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(lorentzidx const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(coloridx const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,symbol const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,function const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,constant const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,idx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,lorentzidx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,coloridx const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(ex const & x,numeric const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(ex const & x,int const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(ex const & x,double const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(numeric const & x,ex const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(int const & x,ex const & y) { + return atan2(ex(x),ex(y)); +} +inline function atan2(double const & x,ex const & y) { + return atan2(ex(x),ex(y)); +} + +// fixes for ex pow(x,y) inline ex pow(symbol const & x,symbol const & y) { return pow(ex(x),ex(y)); } @@ -345,239 +584,257 @@ inline ex pow(double const & x,ex const & y) { return pow(ex(x),ex(y)); } -// fixes for atan2(x,y) -inline ex atan2(symbol const & x,symbol const & y) { - return atan2(ex(x),ex(y)); +// fixes for ex operator+(x,y) +inline ex operator+(ex const & x, basic const & y) { + return operator+((x),ex(y)); } -inline ex atan2(symbol const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline ex operator+(basic const & x, ex const & y) { + return operator+(ex(x),(y)); } -inline ex atan2(symbol const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline ex operator+(basic const & x, basic const & y) { + return operator+(ex(x),ex(y)); } -inline ex atan2(symbol const & x,idx const & y) { - return atan2(ex(x),ex(y)); -} -inline ex atan2(symbol const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); -} -inline ex atan2(symbol const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); -} -inline ex atan2(function const & x,symbol const & y) { - return atan2(ex(x),ex(y)); -} -inline ex atan2(function const & x,function const & y) { - return atan2(ex(x),ex(y)); -} -inline ex atan2(function const & x,constant const & y) { - return atan2(ex(x),ex(y)); -} -inline ex atan2(function const & x,idx const & y) { - return atan2(ex(x),ex(y)); + +// fixes for ex operator-(x,y) +inline ex operator-(ex const & x, basic const & y) { + return operator-((x),ex(y)); } -inline ex atan2(function const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline ex operator-(basic const & x, ex const & y) { + return operator-(ex(x),(y)); } -inline ex atan2(function const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline ex operator-(basic const & x, basic const & y) { + return operator-(ex(x),ex(y)); } -inline ex atan2(constant const & x,symbol const & y) { - return atan2(ex(x),ex(y)); + +// fixes for ex operator*(x,y) +inline ex operator*(ex const & x, basic const & y) { + return operator*((x),ex(y)); } -inline ex atan2(constant const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline ex operator*(basic const & x, ex const & y) { + return operator*(ex(x),(y)); } -inline ex atan2(constant const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline ex operator*(basic const & x, basic const & y) { + return operator*(ex(x),ex(y)); } -inline ex atan2(constant const & x,idx const & y) { - return atan2(ex(x),ex(y)); + +// fixes for ex operator/(x,y) +inline ex operator/(ex const & x, basic const & y) { + return operator/((x),ex(y)); } -inline ex atan2(constant const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline ex operator/(basic const & x, ex const & y) { + return operator/(ex(x),(y)); } -inline ex atan2(constant const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline ex operator/(basic const & x, basic const & y) { + return operator/(ex(x),ex(y)); } -inline ex atan2(idx const & x,symbol const & y) { - return atan2(ex(x),ex(y)); + +// fixes for ex operator%(x,y) +inline ex operator%(ex const & x, basic const & y) { + return operator%((x),ex(y)); } -inline ex atan2(idx const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline ex operator%(basic const & x, ex const & y) { + return operator%(ex(x),(y)); } -inline ex atan2(idx const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline ex operator%(basic const & x, basic const & y) { + return operator%(ex(x),ex(y)); } -inline ex atan2(idx const & x,idx const & y) { - return atan2(ex(x),ex(y)); + +// fixes for relational operator==(x,y) +inline relational operator==(ex const & x, basic const & y) { + return operator==((x),ex(y)); } -inline ex atan2(idx const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline relational operator==(basic const & x, ex const & y) { + return operator==(ex(x),(y)); } -inline ex atan2(idx const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline relational operator==(basic const & x, basic const & y) { + return operator==(ex(x),ex(y)); } -inline ex atan2(lorentzidx const & x,symbol const & y) { - return atan2(ex(x),ex(y)); + +// fixes for relational operator!=(x,y) +inline relational operator!=(ex const & x, basic const & y) { + return operator!=((x),ex(y)); } -inline ex atan2(lorentzidx const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline relational operator!=(basic const & x, ex const & y) { + return operator!=(ex(x),(y)); } -inline ex atan2(lorentzidx const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline relational operator!=(basic const & x, basic const & y) { + return operator!=(ex(x),ex(y)); } -inline ex atan2(lorentzidx const & x,idx const & y) { - return atan2(ex(x),ex(y)); + +// fixes for relational operator<(x,y) +inline relational operator<(ex const & x, basic const & y) { + return operator<((x),ex(y)); } -inline ex atan2(lorentzidx const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline relational operator<(basic const & x, ex const & y) { + return operator<(ex(x),(y)); } -inline ex atan2(lorentzidx const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline relational operator<(basic const & x, basic const & y) { + return operator<(ex(x),ex(y)); } -inline ex atan2(coloridx const & x,symbol const & y) { - return atan2(ex(x),ex(y)); + +// fixes for relational operator<=(x,y) +inline relational operator<=(ex const & x, basic const & y) { + return operator<=((x),ex(y)); } -inline ex atan2(coloridx const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline relational operator<=(basic const & x, ex const & y) { + return operator<=(ex(x),(y)); } -inline ex atan2(coloridx const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline relational operator<=(basic const & x, basic const & y) { + return operator<=(ex(x),ex(y)); } -inline ex atan2(coloridx const & x,idx const & y) { - return atan2(ex(x),ex(y)); + +// fixes for relational operator>(x,y) +inline relational operator>(ex const & x, basic const & y) { + return operator>((x),ex(y)); } -inline ex atan2(coloridx const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline relational operator>(basic const & x, ex const & y) { + return operator>(ex(x),(y)); } -inline ex atan2(coloridx const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline relational operator>(basic const & x, basic const & y) { + return operator>(ex(x),ex(y)); } -inline ex atan2(symbol const & x,numeric const & y) { - return atan2(ex(x),ex(y)); + +// fixes for relational operator>=(x,y) +inline relational operator>=(ex const & x, basic const & y) { + return operator>=((x),ex(y)); } -inline ex atan2(symbol const & x,int const & y) { - return atan2(ex(x),ex(y)); +inline relational operator>=(basic const & x, ex const & y) { + return operator>=(ex(x),(y)); } -inline ex atan2(symbol const & x,double const & y) { - return atan2(ex(x),ex(y)); +inline relational operator>=(basic const & x, basic const & y) { + return operator>=(ex(x),ex(y)); } -inline ex atan2(function const & x,numeric const & y) { - return atan2(ex(x),ex(y)); + +// fixes for ex const & operator+=(x,y) +inline ex const & operator+=(ex & x, basic const & y) { + return operator+=((x),ex(y)); } -inline ex atan2(function const & x,int const & y) { - return atan2(ex(x),ex(y)); +// fixes for ex const & operator-=(x,y) +inline ex const & operator-=(ex & x, basic const & y) { + return operator-=((x),ex(y)); } -inline ex atan2(function const & x,double const & y) { - return atan2(ex(x),ex(y)); +// fixes for ex const & operator*=(x,y) +inline ex const & operator*=(ex & x, basic const & y) { + return operator*=((x),ex(y)); } -inline ex atan2(constant const & x,numeric const & y) { - return atan2(ex(x),ex(y)); +// fixes for ex const & operator/=(x,y) +inline ex const & operator/=(ex & x, basic const & y) { + return operator/=((x),ex(y)); } -inline ex atan2(constant const & x,int const & y) { - return atan2(ex(x),ex(y)); +// fixes for other operators +inline ex operator+(basic const & x) { + return operator+(ex(x)); } -inline ex atan2(constant const & x,double const & y) { - return atan2(ex(x),ex(y)); +inline ex operator-(basic const & x) { + return operator-(ex(x)); } -inline ex atan2(idx const & x,numeric const & y) { - return atan2(ex(x),ex(y)); +inline ostream & operator<<(ostream & os, basic const & x) { + return operator<<(os,ex(x)); } -inline ex atan2(idx const & x,int const & y) { - return atan2(ex(x),ex(y)); +// fixes for functions +// fixes for bool are_ex_trivially_equal(x,y) +inline bool are_ex_trivially_equal(ex const & x, basic const & y) { + return are_ex_trivially_equal((x),ex(y)); } -inline ex atan2(idx const & x,double const & y) { - return atan2(ex(x),ex(y)); +inline bool are_ex_trivially_equal(basic const & x, ex const & y) { + return are_ex_trivially_equal(ex(x),(y)); } -inline ex atan2(lorentzidx const & x,numeric const & y) { - return atan2(ex(x),ex(y)); +inline bool are_ex_trivially_equal(basic const & x, basic const & y) { + return are_ex_trivially_equal(ex(x),ex(y)); } -inline ex atan2(lorentzidx const & x,int const & y) { - return atan2(ex(x),ex(y)); + +inline unsigned nops(basic const & x) { + return nops(ex(x)); } -inline ex atan2(lorentzidx const & x,double const & y) { - return atan2(ex(x),ex(y)); +inline ex expand(basic const & x) { + return expand(ex(x)); } -inline ex atan2(coloridx const & x,numeric const & y) { - return atan2(ex(x),ex(y)); +// fixes for bool has(x,y) +inline bool has(ex const & x, basic const & y) { + return has((x),ex(y)); } -inline ex atan2(coloridx const & x,int const & y) { - return atan2(ex(x),ex(y)); +inline bool has(basic const & x, ex const & y) { + return has(ex(x),(y)); } -inline ex atan2(coloridx const & x,double const & y) { - return atan2(ex(x),ex(y)); +inline bool has(basic const & x, basic const & y) { + return has(ex(x),ex(y)); } -inline ex atan2(numeric const & x,symbol const & y) { - return atan2(ex(x),ex(y)); + +inline int degree(basic const & x, symbol const & y) { + return degree(ex(x),(y)); } -inline ex atan2(numeric const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline int ldegree(basic const & x, symbol const & y) { + return ldegree(ex(x),(y)); } -inline ex atan2(numeric const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline ex coeff(basic const & x, symbol const & y, int z=1) { + return coeff(ex(x),(y),z); } -inline ex atan2(numeric const & x,idx const & y) { - return atan2(ex(x),ex(y)); +inline ex numer(basic const & x) { + return numer(ex(x)); } -inline ex atan2(numeric const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline ex denom(basic const & x) { + return denom(ex(x)); } -inline ex atan2(numeric const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline ex normal(basic const & x, int y=0) { + return normal(ex(x),y); } -inline ex atan2(int const & x,symbol const & y) { - return atan2(ex(x),ex(y)); +inline ex collect(basic const & x, symbol const & y) { + return collect(ex(x),(y)); } -inline ex atan2(int const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline ex eval(basic const & x, int y=0) { + return eval(ex(x),y); } -inline ex atan2(int const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline ex evalf(basic const & x, int y=0) { + return evalf(ex(x),y); } -inline ex atan2(int const & x,idx const & y) { - return atan2(ex(x),ex(y)); +inline ex diff(basic const & x, symbol const & y, int z=1) { + return diff(ex(x),(y),z); } -inline ex atan2(int const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline ex series(const basic & x, const relational & y, int z) { + return series(ex(x),ex(y),(z)); } -inline ex atan2(int const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline ex series(const basic & x, const symbol & y, int z) { + return series(ex(x),ex(y),(z)); } -inline ex atan2(double const & x,symbol const & y) { - return atan2(ex(x),ex(y)); +// fixes for ex subs(x,y) +inline ex subs(ex const & x, basic const & y) { + return subs((x),ex(y)); } -inline ex atan2(double const & x,function const & y) { - return atan2(ex(x),ex(y)); +inline ex subs(basic const & x, ex const & y) { + return subs(ex(x),(y)); } -inline ex atan2(double const & x,constant const & y) { - return atan2(ex(x),ex(y)); +inline ex subs(basic const & x, basic const & y) { + return subs(ex(x),ex(y)); } -inline ex atan2(double const & x,idx const & y) { - return atan2(ex(x),ex(y)); + +inline ex subs(basic const & x, lst const & y, lst const & z) { + return subs(ex(x),(y),(z)); } -inline ex atan2(double const & x,lorentzidx const & y) { - return atan2(ex(x),ex(y)); +inline ex op(basic const & x, int y) { + return op(ex(x),(y)); } -inline ex atan2(double const & x,coloridx const & y) { - return atan2(ex(x),ex(y)); +inline ex lhs(basic const & x) { + return lhs(ex(x)); } -inline ex atan2(ex const & x,numeric const & y) { - return atan2(ex(x),ex(y)); +inline ex rhs(basic const & x) { + return rhs(ex(x)); } -inline ex atan2(ex const & x,int const & y) { - return atan2(ex(x),ex(y)); +inline bool is_zero(basic const & x) { + return is_zero(ex(x)); } -inline ex atan2(ex const & x,double const & y) { - return atan2(ex(x),ex(y)); +// fixes for simp_lor lor_g(x,y) +inline simp_lor lor_g(ex const & x, basic const & y) { + return lor_g((x),ex(y)); } -inline ex atan2(numeric const & x,ex const & y) { - return atan2(ex(x),ex(y)); +inline simp_lor lor_g(basic const & x, ex const & y) { + return lor_g(ex(x),(y)); } -inline ex atan2(int const & x,ex const & y) { - return atan2(ex(x),ex(y)); +inline simp_lor lor_g(basic const & x, basic const & y) { + return lor_g(ex(x),ex(y)); } -inline ex atan2(double const & x,ex const & y) { - return atan2(ex(x),ex(y)); + +inline simp_lor lor_vec(const string & x, const basic & y) { + return lor_vec((x),ex(y)); } +#endif // (!defined(G_CINTVERSION)) || (G_CINTVERSION < 501437)