#ifndef __GINAC_SERIES_H__
#define __GINAC_SERIES_H__
-#include <ginac/basic.h>
-#include <ginac/expairseq.h>
+#include "basic.h"
+#include "expairseq.h"
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
/** This class holds a extended truncated power series (positive and negative
* integer powers). It consists of expression coefficients (only non-zero
// other constructors
public:
- pseries(const ex &var_, const ex &point_, const epvector &ops_);
+ pseries(const ex &rel_, const epvector &ops_);
// functions overriding virtual functions from base classes
public:
basic *duplicate() const;
void print(ostream &os, unsigned upper_precedence=0) const;
void printraw(ostream &os) const;
+ void printtree(ostream & os, unsigned indent) 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;
ex eval(int level=0) const;
ex evalf(int level=0) const;
+ ex series(const relational & r, int order) const;
ex normal(lst &sym_lst, lst &repl_lst, int level=0) const;
- ex diff(const symbol & s) const;
ex subs(const lst & ls, const lst & lr) const;
+protected:
+ ex derivative(const symbol & s) const;
// non-virtual functions in this class
public:
return (static_cast<const pseries &>(*e.bp).convert_to_poly(true));
}
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
#endif // ndef __GINAC_SERIES_H__