]> www.ginac.de Git - ginac.git/blobdiff - ginac/pseries.cpp
ncmul::eval(): don't write beyond the end of the vector.
[ginac.git] / ginac / pseries.cpp
index 989fda84afd6d6e61acc0c3d25c7f66cacc788e9..4a8d7d6a0f78aaadcefee47be398d7eef3fa84a8 100644 (file)
@@ -4,7 +4,7 @@
  *  methods for series expansion. */
 
 /*
- *  GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2010 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#include <numeric>
-#include <stdexcept>
-#include <limits>
-
 #include "pseries.h"
 #include "add.h"
 #include "inifcns.h" // for Order function
 #include "archive.h"
 #include "utils.h"
 
+#include <limits>
+#include <numeric>
+#include <stdexcept>
+
 namespace GiNaC {
 
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(pseries, basic,
@@ -81,8 +81,9 @@ pseries::pseries(const ex &rel_, const epvector &ops_) : seq(ops_)
  *  Archiving
  */
 
-pseries::pseries(const archive_node &n, lst &sym_lst) : inherited(n, sym_lst)
+void pseries::read_archive(const archive_node &n, lst &sym_lst) 
 {
+       inherited::read_archive(n, sym_lst);
        archive_node::archive_node_cit first = n.find_first("coeff");
        archive_node::archive_node_cit last = n.find_last("power");
        ++last;
@@ -113,7 +114,6 @@ void pseries::archive(archive_node &n) const
        n.add_ex("point", point);
 }
 
-DEFAULT_UNARCHIVE(pseries)
 
 //////////
 // functions overriding virtual functions from base classes
@@ -1284,4 +1284,6 @@ ex ex::series(const ex & r, int order, unsigned options) const
        return e;
 }
 
+GINAC_BIND_UNARCHIVER(pseries);
+
 } // namespace GiNaC