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;
}
// 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;
// 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: