Go to the documentation of this file.00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef GINAC_OPERATORS_H
00024 #define GINAC_OPERATORS_H
00025
00026 #include <iosfwd>
00027
00028 namespace GiNaC {
00029
00030 class ex;
00031 class numeric;
00032 class relational;
00033
00034
00035 const ex operator+(const ex & lh, const ex & rh);
00036 const ex operator-(const ex & lh, const ex & rh);
00037 const ex operator*(const ex & lh, const ex & rh);
00038 const ex operator/(const ex & lh, const ex & rh);
00039
00040
00041 const numeric operator+(const numeric & lh, const numeric & rh);
00042 const numeric operator-(const numeric & lh, const numeric & rh);
00043 const numeric operator*(const numeric & lh, const numeric & rh);
00044 const numeric operator/(const numeric & lh, const numeric & rh);
00045
00046
00047 ex & operator+=(ex & lh, const ex & rh);
00048 ex & operator-=(ex & lh, const ex & rh);
00049 ex & operator*=(ex & lh, const ex & rh);
00050 ex & operator/=(ex & lh, const ex & rh);
00051
00052
00053 numeric & operator+=(numeric & lh, const numeric & rh);
00054 numeric & operator-=(numeric & lh, const numeric & rh);
00055 numeric & operator*=(numeric & lh, const numeric & rh);
00056 numeric & operator/=(numeric & lh, const numeric & rh);
00057
00058
00059 const ex operator+(const ex & lh);
00060 const ex operator-(const ex & lh);
00061
00062 const numeric operator+(const numeric & lh);
00063 const numeric operator-(const numeric & lh);
00064
00065
00066 ex & operator++(ex & rh);
00067 ex & operator--(ex & rh);
00068 const ex operator++(ex & lh, int);
00069 const ex operator--(ex & lh, int);
00070
00071 numeric& operator++(numeric & rh);
00072 numeric& operator--(numeric & rh);
00073 const numeric operator++(numeric & lh, int);
00074 const numeric operator--(numeric & lh, int);
00075
00076
00077 const relational operator==(const ex & lh, const ex & rh);
00078 const relational operator!=(const ex & lh, const ex & rh);
00079 const relational operator<(const ex & lh, const ex & rh);
00080 const relational operator<=(const ex & lh, const ex & rh);
00081 const relational operator>(const ex & lh, const ex & rh);
00082 const relational operator>=(const ex & lh, const ex & rh);
00083
00084
00085 std::ostream & operator<<(std::ostream & os, const ex & e);
00086 std::istream & operator>>(std::istream & is, ex & e);
00087
00088
00089 std::ostream & dflt(std::ostream & os);
00090 std::ostream & latex(std::ostream & os);
00091 std::ostream & python(std::ostream & os);
00092 std::ostream & python_repr(std::ostream & os);
00093 std::ostream & tree(std::ostream & os);
00094 std::ostream & csrc(std::ostream & os);
00095 std::ostream & csrc_float(std::ostream & os);
00096 std::ostream & csrc_double(std::ostream & os);
00097 std::ostream & csrc_cl_N(std::ostream & os);
00098
00099 std::ostream & index_dimensions(std::ostream & os);
00100 std::ostream & no_index_dimensions(std::ostream & os);
00101
00102 }
00103
00104 #endif // ndef GINAC_OPERATORS_H