]> www.ginac.de Git - ginac.git/blobdiff - ginac/pseries.cpp
- implemented nops() and op() for pseries objects
[ginac.git] / ginac / pseries.cpp
index ff39d24fb07a656b20d986c0641150e9ec6d4b00..b12c8297353dbc48323c2bdf409c7690c17d7349 100644 (file)
@@ -21,6 +21,8 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include <stdexcept>
+
 #include "pseries.h"
 #include "add.h"
 #include "inifcns.h"
@@ -174,6 +176,23 @@ void pseries::printraw(ostream &os) const
        os << ")";
 }
 
+unsigned pseries::nops(void) const
+{
+       return seq.size();
+}
+
+ex pseries::op(int i) const
+{
+       if (i < 0 || i >= seq.size())
+           throw (std::out_of_range("op() out of range"));
+       return seq[i].rest * power(var - point, seq[i].coeff);
+}
+
+ex &pseries::let_op(int i)
+{
+    throw (std::logic_error("let_op not defined for pseries"));
+}
+
 int pseries::degree(symbol const &s) const
 {
     if (var.is_equal(s)) {