X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Ffunction.pl;h=bc46d710ad3355dd4f4e4ee64e72d8ad6900513a;hp=962b17efdffb31308549c8852e28aa4f16708d2c;hb=dbd9c306a74f1cb258c0d15a346b973b39deaad2;hpb=fbdd5eefb7188778ca9c04b5bee08223609b880f diff --git a/ginac/function.pl b/ginac/function.pl index 962b17ef..bc46d710 100755 --- a/ginac/function.pl +++ b/ginac/function.pl @@ -164,7 +164,7 @@ $interface=<(VAR)) { \\ - automatic_typecheck=false; \\ -} else - -#define TYPECHECK_INTEGER(VAR) \\ -if (!(VAR).info(GiNaC::info_flags::integer)) { \\ - automatic_typecheck=false; \\ -} else - -#define END_TYPECHECK(RV) \\ -{} \\ -if (!automatic_typecheck) { \\ - return RV.hold(); \\ -} - namespace GiNaC { class function; @@ -342,9 +320,6 @@ $constructors_interface public: void print(const print_context & c, unsigned level = 0) const; unsigned precedence(void) const {return 70;} - int degree(const ex & s) const; - int ldegree(const ex & s) const; - ex coeff(const ex & s, int n = 1) const; ex expand(unsigned options=0) const; ex eval(int level=0) const; ex evalf(int level=0) const; @@ -390,7 +365,7 @@ template<> inline bool is_exactly_a(const basic & obj) } #define is_ex_the_function(OBJ, FUNCNAME) \\ - (is_exactly_a(OBJ) && ex_to(OBJ).get_serial() == function_index_##FUNCNAME) + (GiNaC::is_exactly_a(OBJ) && GiNaC::ex_to(OBJ).get_serial() == function_index_##FUNCNAME) } // namespace GiNaC @@ -408,7 +383,7 @@ $implementation=<(s)) ? 1 : 0; -} - -int function::ldegree(const ex & s) const -{ - return is_equal(ex_to(s)) ? 1 : 0; -} - -ex function::coeff(const ex & s, int n) const -{ - if (is_equal(ex_to(s))) - return n==1 ? _ex1 : _ex0; - else - return n==0 ? ex(*this) : _ex0; -} - ex function::eval(int level) const { GINAC_ASSERT(serial