]> www.ginac.de Git - ginac.git/blobdiff - ginac/pseries.h
* INSTALL: adjusted Cint status.
[ginac.git] / ginac / pseries.h
index 20005473baada848c5e8306a85bd4bb450bc0639..94646cb6ba0d5729d52b4fc562b863d8ba8cebf4 100644 (file)
@@ -42,16 +42,14 @@ public:
 
        // functions overriding virtual functions from base classes
 public:
-       void print(std::ostream &os, unsigned upper_precedence = 0) const;
-       void printraw(std::ostream &os) const;
-       void printtree(std::ostream & os, unsigned indent) const;
+       void print(const print_context & c, unsigned level = 0) const;
        unsigned nops(void) const;
        ex op(int i) const;
        ex &let_op(int i);
-       int degree(const symbol &s) const;
-       int ldegree(const symbol &s) const;
-       ex coeff(const symbol &s, int n = 1) const;
-       ex collect(const symbol &s) const;
+       int degree(const ex &s) const;
+       int ldegree(const ex &s) const;
+       ex coeff(const ex &s, int n = 1) const;
+       ex collect(const ex &s) const;
        ex eval(int level=0) const;
        ex evalf(int level=0) const;
        ex series(const relational & r, int order, unsigned options = 0) const;
@@ -63,10 +61,28 @@ protected:
 
        // non-virtual functions in this class
 public:
+       /** Get the expansion variable. */
+       ex get_var(void) const {return var;}
+
+       /** Get the expansion point. */
+       ex get_point(void) const {return point;}
+
+       /** Convert the pseries object to an ordinary polynomial.
+        *
+        *  @param no_order flag: discard higher order terms */
        ex convert_to_poly(bool no_order = false) const;
-       bool is_compatible_to(const pseries &other) const {return var.compare(other.var) == 0 && point.compare(other.point) == 0;}
+
+       /** Check whether series is compatible to another series (expansion
+        *  variable and point are the same. */
+       bool is_compatible_to(const pseries &other) const {return var.is_equal(other.var) && point.is_equal(other.point);}
+
+       /** Check whether series has the value zero. */
        bool is_zero(void) const {return seq.size() == 0;}
+
+       /** Returns true if there is no order term, i.e. the series terminates and
+        *  false otherwise. */
        bool is_terminating(void) const;
+
        ex add_series(const pseries &other) const;
        ex mul_const(const numeric &other) const;
        ex mul_series(const pseries &other) const;