]> www.ginac.de Git - ginac.git/blobdiff - ginac/tensor.cpp
Univariate Hensel lifting now uses upoly.
[ginac.git] / ginac / tensor.cpp
index 462ba2c7a8b909a61ece0113d779e76d1aed6812..259af3e45d3a579639f1712e7b5100bf9123d9e7 100644 (file)
@@ -64,7 +64,7 @@ GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(tensepsilon, tensor,
 // constructors
 //////////
 
-tensor::tensor() : inherited(&tensor::tinfo_static)
+tensor::tensor()
 {
        setflag(status_flags::evaluated | status_flags::expanded);
 }
@@ -74,44 +74,34 @@ DEFAULT_CTOR(tensmetric)
 
 minkmetric::minkmetric() : pos_sig(false)
 {
-       tinfo_key = &minkmetric::tinfo_static;
 }
 
 spinmetric::spinmetric()
 {
-       tinfo_key = &spinmetric::tinfo_static;
 }
 
 minkmetric::minkmetric(bool ps) : pos_sig(ps)
 {
-       tinfo_key = &minkmetric::tinfo_static;
 }
 
 tensepsilon::tensepsilon() : minkowski(false), pos_sig(false)
 {
-       tinfo_key = &tensepsilon::tinfo_static;
 }
 
 tensepsilon::tensepsilon(bool mink, bool ps) : minkowski(mink), pos_sig(ps)
 {
-       tinfo_key = &tensepsilon::tinfo_static;
 }
 
 //////////
 // archiving
 //////////
 
-DEFAULT_ARCHIVING(tensor)
-DEFAULT_ARCHIVING(tensdelta)
-DEFAULT_ARCHIVING(tensmetric)
-DEFAULT_ARCHIVING(spinmetric)
-DEFAULT_UNARCHIVE(minkmetric)
-DEFAULT_UNARCHIVE(tensepsilon)
-
-minkmetric::minkmetric(const archive_node &n, lst &sym_lst) : inherited(n, sym_lst)
+void minkmetric::read_archive(const archive_node& n, lst& sym_lst)
 {
+       inherited::read_archive(n, sym_lst);
        n.find_bool("pos_sig", pos_sig);
 }
+GINAC_BIND_UNARCHIVER(minkmetric);
 
 void minkmetric::archive(archive_node &n) const
 {
@@ -119,11 +109,13 @@ void minkmetric::archive(archive_node &n) const
        n.add_bool("pos_sig", pos_sig);
 }
 
-tensepsilon::tensepsilon(const archive_node &n, lst &sym_lst) : inherited(n, sym_lst)
+void tensepsilon::read_archive(const archive_node& n, lst& sym_lst)
 {
+       inherited::read_archive(n, sym_lst);
        n.find_bool("minkowski", minkowski);
        n.find_bool("pos_sig", pos_sig);
 }
+GINAC_BIND_UNARCHIVER(tensepsilon);
 
 void tensepsilon::archive(archive_node &n) const
 {
@@ -132,6 +124,10 @@ void tensepsilon::archive(archive_node &n) const
        n.add_bool("pos_sig", pos_sig);
 }
 
+GINAC_BIND_UNARCHIVER(tensdelta);
+GINAC_BIND_UNARCHIVER(tensmetric);
+GINAC_BIND_UNARCHIVER(spinmetric);
+
 //////////
 // functions overriding virtual functions from base classes
 //////////