]> www.ginac.de Git - ginac.git/blobdiff - ginac/basic.h
Added methods for taking real and imaginary parts.
[ginac.git] / ginac / basic.h
index b2dc0ade2b30c123d41ff52d0b537444b31596fa..b08ad6693472859ccf1645abf889f1558b3f37d2 100644 (file)
@@ -160,7 +160,7 @@ public:
        virtual ex & operator[](size_t i);
 
        // pattern matching
-       virtual bool has(const ex & other) const;
+       virtual bool has(const ex & other, unsigned options = 0) const;
        virtual bool match(const ex & pattern, lst & repl_lst) const;
 protected:
        virtual bool match_same_type(const basic & other) const;
@@ -180,6 +180,7 @@ public:
        }
 
        // degree/coeff
+       virtual bool is_polynomial(const ex & var) const;
        virtual int degree(const ex & s) const;
        virtual int ldegree(const ex & s) const;
        virtual ex coeff(const ex & s, int n = 1) const;
@@ -212,10 +213,12 @@ public:
 
        // noncommutativity
        virtual unsigned return_type() const;
-       virtual const basic* return_type_tinfo() const;
+       virtual tinfo_t return_type_tinfo() const;
 
-       // complex conjugation
+       // functions for complex expressions
        virtual ex conjugate() const;
+       virtual ex real_part() const;
+       virtual ex imag_part() const;
 
        // functions that should be called from class ex only
 protected: