- modified GiNaC headers to Alexander's liking
authorChristian Bauer <Christian.Bauer@uni-mainz.de>
Wed, 10 Nov 1999 22:35:47 +0000 (22:35 +0000)
committerChristian Bauer <Christian.Bauer@uni-mainz.de>
Wed, 10 Nov 1999 22:35:47 +0000 (22:35 +0000)
73 files changed:
ginac/add.cpp
ginac/add.h
ginac/basic.cpp
ginac/basic.h
ginac/clifford.cpp
ginac/clifford.h
ginac/color.cpp
ginac/color.h
ginac/coloridx.cpp
ginac/coloridx.h
ginac/constant.cpp
ginac/constant.h
ginac/container.pl
ginac/diff.cpp
ginac/ex.cpp
ginac/ex.h
ginac/expair.h
ginac/expairseq.cpp
ginac/expairseq.h
ginac/exprseq.cpp
ginac/exprseq.h
ginac/exprseq_suppl.cpp
ginac/fail.cpp
ginac/fail.h
ginac/function.cpp
ginac/function.h
ginac/function.pl
ginac/ginac.h
ginac/idx.cpp
ginac/idx.h
ginac/indexed.cpp
ginac/indexed.h
ginac/inifcns.cpp
ginac/inifcns.h
ginac/inifcns_gamma.cpp
ginac/inifcns_trans.cpp
ginac/isospin.cpp
ginac/isospin.h
ginac/lorentzidx.cpp
ginac/lorentzidx.h
ginac/lst.cpp
ginac/lst.h
ginac/lst_suppl.cpp
ginac/matrix.cpp
ginac/matrix.h
ginac/mul.cpp
ginac/mul.h
ginac/ncmul.cpp
ginac/ncmul.h
ginac/normal.cpp
ginac/normal.h
ginac/numeric.cpp
ginac/numeric.h
ginac/operators.cpp
ginac/operators.h
ginac/power.cpp
ginac/power.h
ginac/print.cpp
ginac/printcsrc.cpp
ginac/printraw.cpp
ginac/printtree.cpp
ginac/relational.cpp
ginac/relational.h
ginac/series.cpp
ginac/series.h
ginac/simp_lor.cpp
ginac/simp_lor.h
ginac/structure.cpp
ginac/structure.h
ginac/symbol.cpp
ginac/symbol.h
ginac/tinfos.h
ginac/utils.cpp

index 42e65bb904ea7171fe42007dfc61d0471dbca5eb..9d054379aa5c24781ad5697fac9d72171bb1bdd7 100644 (file)
@@ -22,7 +22,8 @@
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "add.h"
+#include "mul.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -33,7 +34,7 @@
 add::add()
 {
     debugmsg("add default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
 }
 
 add::~add()
@@ -79,7 +80,7 @@ void add::destroy(bool call_parent)
 add::add(ex const & lh, ex const & rh)
 {
     debugmsg("add constructor from ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
     overall_coeff=exZERO();
     construct_from_2_ex(lh,rh);
     ASSERT(is_canonical());
@@ -88,7 +89,7 @@ add::add(ex const & lh, ex const & rh)
 add::add(exvector const & v)
 {
     debugmsg("add constructor from exvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
     overall_coeff=exZERO();
     construct_from_exvector(v);
     ASSERT(is_canonical());
@@ -98,7 +99,7 @@ add::add(exvector const & v)
 add::add(epvector const & v, bool do_not_canonicalize)
 {
     debugmsg("add constructor from epvector,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
     if (do_not_canonicalize) {
         seq=v;
 #ifdef EXPAIRSEQ_USE_HASHTAB
@@ -114,7 +115,7 @@ add::add(epvector const & v, bool do_not_canonicalize)
 add::add(epvector const & v)
 {
     debugmsg("add constructor from epvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
     overall_coeff=exZERO();
     construct_from_epvector(v);
     ASSERT(is_canonical());
@@ -123,7 +124,7 @@ add::add(epvector const & v)
 add::add(epvector const & v, ex const & oc)
 {
     debugmsg("add constructor from epvector,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
     overall_coeff=oc;
     construct_from_epvector(v);
     ASSERT(is_canonical());
@@ -132,7 +133,7 @@ add::add(epvector const & v, ex const & oc)
 add::add(epvector * vp, ex const & oc)
 {
     debugmsg("add constructor from epvector *,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
     ASSERT(vp!=0);
     overall_coeff=oc;
     construct_from_epvector(*vp);
index 783830345b682f4d18ee7bcd6741fc6a77e4104e..1b9651977030d2f719d4ae17ff89fdaf1caa7341 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef __GINAC_ADD_H__
 #define __GINAC_ADD_H__
 
+#include <ginac/expairseq.h>
+
 /** Sum of expressions. */
 class add : public expairseq
 {
@@ -106,4 +108,3 @@ extern type_info const & typeid_add;
 #define ex_to_add(X) static_cast<add const &>(*(X).bp)
 
 #endif // ndef __GINAC_ADD_H__
-
index 8317f8129adb7134b2a5b625d96ba93862befa2c..0b713b8855049acb71982079349bbfcd997d9cba 100644 (file)
 #include <typeinfo>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "basic.h"
+#include "ex.h"
+#include "numeric.h"
+#include "power.h"
+#include "symbol.h"
+#include "lst.h"
+#include "ncmul.h"
 #include "utils.h"
 
 //////////
index 943939041d442ffa5e681c8f6ab2d22de0a4c789..ebc130f761ce713c3c241a234d597deb2f413f68 100644 (file)
 #include <typeinfo>
 #include <vector>
 
+#include <ginac/flags.h>
+#include <ginac/tinfos.h>
+#include <ginac/debugmsg.h>
+
 class basic;
 class ex;
 class symbol;
@@ -48,7 +52,7 @@ class basic
 public:
     basic()
 #ifdef INLINE_BASIC_CONSTRUCTORS
-    : tinfo_key(TINFO_BASIC), flags(0), refcount(0)
+    : tinfo_key(TINFO_basic), flags(0), refcount(0)
     {
         debugmsg("basic default constructor",LOGLEVEL_CONSTRUCT);
         // nothing to do
@@ -177,42 +181,19 @@ extern type_info const & typeid_basic;
 
 extern int max_recursion_level;
 
-/*
-#ifndef _DEBUG
-*/
+// convenience macros
+
 #define is_of_type(OBJ,TYPE) \
     (dynamic_cast<TYPE *>(const_cast<basic *>(&OBJ))!=0)
 
-/*
 #define is_exactly_of_type(OBJ,TYPE) \
-    (typeid(OBJ)==typeid(some_##TYPE))
-*/
-#define is_exactly_of_type(OBJ,TYPE) \
-    ((OBJ).tinfo()==(some_##TYPE).tinfo())
-
-
-    /*
-#else 
-#define is_of_type(OBJ,TYPE)                               \
-    (ASSERT(typeid(OBJ)!=typeid(exZERO())),                \
-     (dynamic_cast<TYPE *>(const_cast<basic *>(&OBJ))!=0))
-
-#define is_exactly_of_type(OBJ,TYPE)                       \
-    (ASSERT(typeid(OBJ)!=typeid(exZERO())),                \
-     (typeid(OBJ)==typeid(some_##TYPE))
-#endif // ndef _DEBUG
-*/
+    ((OBJ).tinfo()==TINFO_##TYPE)
 
 #define is_ex_of_type(OBJ,TYPE) \
     (dynamic_cast<TYPE *>(const_cast<basic *>((OBJ).bp))!=0)
 
-/*
-#define is_ex_exactly_of_type(OBJ,TYPE) \
-    (typeid(*(OBJ).bp)==typeid(some_##TYPE))
-*/
-
 #define is_ex_exactly_of_type(OBJ,TYPE) \
-    ((*(OBJ).bp).tinfo()==(some_##TYPE).tinfo())
+    ((*(OBJ).bp).tinfo()==TINFO_##TYPE)
 
 #define are_ex_trivially_equal(EX1,EX2) \
     ((EX1).bp==(EX2).bp)
index 9c01f9a0002dae884990e4801610df4954950fb1..1e154b1ab3a450b87bb97ace3e653dd0690f5877 100644 (file)
@@ -22,7 +22,9 @@
 
 #include <string>
 
-#include "ginac.h"
+#include "clifford.h"
+#include "ex.h"
+#include "ncmul.h"
 #include "utils.h"
 
 //////////
@@ -36,7 +38,7 @@ clifford::clifford()
     debugmsg("clifford default constructor",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
     name=autoname_prefix()+ToString(serial);
-    tinfo_key=TINFO_CLIFFORD;
+    tinfo_key=TINFO_clifford;
 }
 
 clifford::~clifford()
@@ -88,7 +90,7 @@ clifford::clifford(string const & initname)
     debugmsg("clifford constructor from string",LOGLEVEL_CONSTRUCT);
     name=initname;
     serial=next_serial++;
-    tinfo_key=TINFO_CLIFFORD;
+    tinfo_key=TINFO_clifford;
 }
 
 //////////
@@ -145,7 +147,7 @@ bool clifford::info(unsigned inf) const
 
 int clifford::compare_same_type(basic const & other) const
 {
-    ASSERT(other.tinfo() == TINFO_CLIFFORD);
+    ASSERT(other.tinfo() == TINFO_clifford);
     const clifford *o = static_cast<const clifford *>(&other);
     if (serial==o->serial) {
         return indexed::compare_same_type(other);
index 68a81a452e19b9ec1bcb8a44e930862807213599..1bfd561ad96cf944c92f83cec9240bd630222604 100644 (file)
@@ -23,6 +23,7 @@
 #define __GINAC_CLIFFORD_H__
 
 #include <string>
+#include <ginac/indexed.h>
 
 /** Base class for clifford object */
 class clifford : public indexed
index fc78506af58ff60576fffb476f95c7549e229647..f905693e18947c1f0df3ccead73215318fec3d30 100644 (file)
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "color.h"
+#include "ex.h"
+#include "coloridx.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "relational.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -37,7 +42,7 @@
 color::color() : type(invalid), representation_label(0)
 {
     debugmsg("color default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
 }
 
 color::~color()
@@ -88,7 +93,7 @@ color::color(color_types const t, unsigned const rl) : type(t), representation_l
 {
     debugmsg("color constructor from color_types,unsigned",LOGLEVEL_CONSTRUCT);
     ASSERT(representation_label<MAX_REPRESENTATION_LABELS);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
     ASSERT(all_of_type_coloridx());
 }
 
@@ -97,7 +102,7 @@ color::color(color_types const t, ex const & i1, unsigned const rl)
 {
     debugmsg("color constructor from color_types,ex,unsigned",LOGLEVEL_CONSTRUCT);
     ASSERT(representation_label<MAX_REPRESENTATION_LABELS);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
     ASSERT(all_of_type_coloridx());
 }
 
@@ -106,7 +111,7 @@ color::color(color_types const t, ex const & i1, ex const & i2, unsigned const r
 {
     debugmsg("color constructor from color_types,ex,ex,unsigned",LOGLEVEL_CONSTRUCT);
     ASSERT(representation_label<MAX_REPRESENTATION_LABELS);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
     ASSERT(all_of_type_coloridx());
 }
 
@@ -115,7 +120,7 @@ color::color(color_types const t, ex const & i1, ex const & i2, ex const & i3,
 {
     debugmsg("color constructor from color_types,ex,ex,ex,unsigned",LOGLEVEL_CONSTRUCT);
     ASSERT(representation_label<MAX_REPRESENTATION_LABELS);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
     ASSERT(all_of_type_coloridx());
 }
 
@@ -124,7 +129,7 @@ color::color(color_types const t, exvector const & iv, unsigned const rl)
 {
     debugmsg("color constructor from color_types,exvector,unsigned",LOGLEVEL_CONSTRUCT);
     ASSERT(representation_label<MAX_REPRESENTATION_LABELS);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
     ASSERT(all_of_type_coloridx());
 }
 
@@ -133,7 +138,7 @@ color::color(color_types const t, exvector * ivp, unsigned const rl)
 {
     debugmsg("color constructor from color_types,exvector *,unsigned",LOGLEVEL_CONSTRUCT);
     ASSERT(representation_label<MAX_REPRESENTATION_LABELS);
-    tinfo_key=TINFO_COLOR;
+    tinfo_key=TINFO_color;
     ASSERT(all_of_type_coloridx());
 }
 
@@ -338,7 +343,7 @@ ex color::eval(int level) const
 
 int color::compare_same_type(basic const & other) const
 {
-    ASSERT(other.tinfo() == TINFO_COLOR);
+    ASSERT(other.tinfo() == TINFO_color);
     const color *o = static_cast<const color *>(&other);
     if (type==o->type) {
         if (representation_label==o->representation_label) {
@@ -351,7 +356,7 @@ int color::compare_same_type(basic const & other) const
 
 bool color::is_equal_same_type(basic const & other) const
 {
-    ASSERT(other.tinfo() == TINFO_COLOR);
+    ASSERT(other.tinfo() == TINFO_color);
     const color *o = static_cast<const color *>(&other);
     if (type!=o->type) return false;
     if (representation_label!=o->representation_label) return false;
index d900d84f9b22dca82189d027699c49e2ddd79267..266496b2cd1fa94bc868437103393b6508e50582 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <string>
 #include <vector>
+#include <ginac/indexed.h>
 
 #define MAX_REPRESENTATION_LABELS 4
 #define COLOR_EIGHT 8 // N*N-1
index be7768d7dfb75b93d5122b320471b586432d03e0..ff4a5f45bc223569a246ab08f200ccf60e52055a 100644 (file)
@@ -21,7 +21,7 @@
 
 #include <stdexcept>
 
-#include "ginac.h"
+#include "coloridx.h"
 #include "utils.h"
 
 //////////
@@ -35,7 +35,7 @@ coloridx::coloridx()
     debugmsg("coloridx default constructor",LOGLEVEL_CONSTRUCT);
     // serial is incremented in idx::idx()
     name="color"+ToString(serial);
-    tinfo_key=TINFO_COLORIDX;
+    tinfo_key=TINFO_coloridx;
 }
 
 coloridx::~coloridx() 
@@ -83,25 +83,25 @@ coloridx::coloridx(bool cov) : idx(cov)
     debugmsg("coloridx constructor from bool",LOGLEVEL_CONSTRUCT);
     // serial is incremented in idx::idx(bool)
     name="color"+ToString(serial);
-    tinfo_key=TINFO_COLORIDX;
+    tinfo_key=TINFO_coloridx;
 }
 
 coloridx::coloridx(string const & n, bool cov) : idx(n,cov)
 {
     debugmsg("coloridx constructor from string,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_COLORIDX;
+    tinfo_key=TINFO_coloridx;
 }
 
 coloridx::coloridx(char const * n, bool cov) : idx(n,cov)
 {
     debugmsg("coloridx constructor from char*,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_COLORIDX;
+    tinfo_key=TINFO_coloridx;
 }
 
 coloridx::coloridx(unsigned const v, bool cov) : idx(v,cov)
 {
     debugmsg("coloridx constructor from unsigned,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_COLORIDX;
+    tinfo_key=TINFO_coloridx;
 }
 
 //////////
index 8f7e8254681b4c0739b6848a1299e2d3fbad2981..4fb6a759d74bf4284b1d2a05ba19fd904300a73f 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <string>
 #include <vector>
+#include <ginac/idx.h>
 
 class coloridx : public idx
 {
index 2bfb4b323436e6d7ca0f473d038aaed482403e52..6ea13a00ffa0fac69c88f8327c28295cf04829ca 100644 (file)
@@ -22,7 +22,9 @@
 #include <string>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "constant.h"
+#include "numeric.h"
+#include "ex.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -72,14 +74,14 @@ void constant::destroy(bool call_parent)
 // public
 
 constant::constant(string const & initname, ex (*efun)()) :
-    basic(TINFO_CONSTANT), name(initname), ef(efun),
+    basic(TINFO_constant), name(initname), ef(efun),
     number(0), fct_assigned(true), serial(next_serial++)
 {
     debugmsg("constant constructor from string, function",LOGLEVEL_CONSTRUCT);
 }
 
 constant::constant(string const & initname, numeric const & initnumber) :
-    basic(TINFO_CONSTANT), name(initname), ef(0),
+    basic(TINFO_constant), name(initname), ef(0),
     number(new numeric(initnumber)), fct_assigned(false), serial(next_serial++)
 {
     debugmsg("constant constructor from string, numeric",LOGLEVEL_CONSTRUCT);
index e772ada848566a796b9e307f48748a6f2cdd5bb6..488d8a3edbd515fb54a77f3892ef8619b56ac806 100644 (file)
@@ -23,6 +23,7 @@
 #define __GINAC_CONSTANT_H__
 
 #include <string>
+#include <ginac/basic.h>
 
 /** This class holds constants, symbols with specific numerical value. Each
  *  object of this class must either provide their own function to evaluate it
index 4cb7f8839e0c63faaccabfefc3950a397e6cb9b1..4f838e6802ced17bc7569c602b0fd0a99193525f 100755 (executable)
@@ -121,7 +121,7 @@ $interface=<<END_OF_INTERFACE;
 #define __GINAC_${CONTAINER_UC}_H__
 
 #include <${STLHEADER}>
-#include <ginac/ginac.h>
+#include <ginac/basic.h>
 
 typedef ${STLHEADER}<ex> ${STLT};
 
@@ -254,7 +254,8 @@ $implementation=<<END_OF_IMPLEMENTATION;
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "${CONTAINER}.h"
+#include "ex.h"
 
 ${RESERVE_IMPLEMENTATION}
 
@@ -264,7 +265,7 @@ ${RESERVE_IMPLEMENTATION}
 
 // public
 
-${CONTAINER}::${CONTAINER}() : basic(TINFO_${CONTAINER_UC})
+${CONTAINER}::${CONTAINER}() : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} default constructor",LOGLEVEL_CONSTRUCT);
 }
@@ -311,7 +312,7 @@ void ${CONTAINER}::destroy(bool call_parent)
 
 // public
 
-${CONTAINER}::${CONTAINER}(${STLT} const & s, bool discardable) :  basic(TINFO_${CONTAINER_UC})
+${CONTAINER}::${CONTAINER}(${STLT} const & s, bool discardable) :  basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from ${STLT}",
              LOGLEVEL_CONSTRUCT);
@@ -322,7 +323,7 @@ ${CONTAINER}::${CONTAINER}(${STLT} const & s, bool discardable) :  basic(TINFO_$
     }
 }
 
-${CONTAINER}::${CONTAINER}(${STLT} * vp) : basic(TINFO_${CONTAINER_UC})
+${CONTAINER}::${CONTAINER}(${STLT} * vp) : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from ${STLT} *",LOGLEVEL_CONSTRUCT);
     ASSERT(vp!=0);
@@ -330,7 +331,7 @@ ${CONTAINER}::${CONTAINER}(${STLT} * vp) : basic(TINFO_${CONTAINER_UC})
     delete vp;
 }
 
-${CONTAINER}::${CONTAINER}(ex const & e1) :  basic(TINFO_${CONTAINER_UC})
+${CONTAINER}::${CONTAINER}(ex const & e1) :  basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 1 ex",
              LOGLEVEL_CONSTRUCT);
@@ -338,7 +339,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1) :  basic(TINFO_${CONTAINER_UC})
     seq.push_back(e1);
 }
 
-${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2) : basic(TINFO_${CONTAINER_UC})
+${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2) : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 2 ex",
              LOGLEVEL_CONSTRUCT);
@@ -348,7 +349,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2) : basic(TINFO_${CONTAIN
 }
 
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3)
-    : basic(TINFO_${CONTAINER_UC})
+    : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 3 ex",
              LOGLEVEL_CONSTRUCT);
@@ -359,7 +360,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3)
 }
 
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
-                     ex const & e4) : basic(TINFO_${CONTAINER_UC})
+                     ex const & e4) : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 4 ex",
              LOGLEVEL_CONSTRUCT);
@@ -371,7 +372,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
 }
 
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
-                     ex const & e4, ex const & e5) : basic(TINFO_${CONTAINER_UC})
+                     ex const & e4, ex const & e5) : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 5 ex",
              LOGLEVEL_CONSTRUCT);
@@ -385,7 +386,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
 
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6)
-    : basic(TINFO_${CONTAINER_UC})
+    : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 6 ex",
              LOGLEVEL_CONSTRUCT);
@@ -400,7 +401,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
 
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
-                     ex const & e7) : basic(TINFO_${CONTAINER_UC})
+                     ex const & e7) : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 7 ex",
              LOGLEVEL_CONSTRUCT);
@@ -416,7 +417,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
 
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
-                     ex const & e7, ex const & e8) : basic(TINFO_${CONTAINER_UC})
+                     ex const & e7, ex const & e8) : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 8 ex",
              LOGLEVEL_CONSTRUCT);
@@ -434,7 +435,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
 ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
                      ex const & e7, ex const & e8, ex const & e9)
-    : basic(TINFO_${CONTAINER_UC})
+    : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 9 ex",
              LOGLEVEL_CONSTRUCT);
@@ -454,7 +455,7 @@ ${CONTAINER}::${CONTAINER}(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
                      ex const & e7, ex const & e8, ex const & e9,
                      ex const &e10)
-    : basic(TINFO_${CONTAINER_UC})
+    : basic(TINFO_${CONTAINER})
 {
     debugmsg("${CONTAINER} constructor from 10 ex",
              LOGLEVEL_CONSTRUCT);
index c8ef77b8dd7c6b4a0d79ee76bbae1360ad896b5a..ff7855af4f0854dd2e7868cfeb0e01454f890d16 100644 (file)
 
 #include <stdexcept>
 
-#include "ginac.h"
+#include "basic.h"
+#include "ex.h"
+#include "add.h"
+#include "constant.h"
+#include "expairseq.h"
+#include "indexed.h"
+#include "inifcns.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 /** Default implementation of ex::diff(). It prints and error message and returns a fail object.
  *  @see ex::diff */
index 652005ddfc4d815c940c0ee204718892adc051f8..c30efddac37b449193263f329d367f7a915fdd78 100644 (file)
 
 #include <iostream>
 
-#include "ginac.h"
+#include "ex.h"
+#include "add.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
index d22dc86a38aedeba4770a8a690e14028ff988525..c07c3edb79d9ce62059b3e1f341f3868f6e00d9a 100644 (file)
@@ -23,6 +23,8 @@
 #define __GINAC_EX_H__
 
 #include <iostream>
+#include <ginac/basic.h>
+#include <ginac/operators.h>
 
 class ex;
 class expand_options;
index 3f98d4127d80e8a15a4282e07bf4e1c8d86974ae..372091db3602846a9c743678ca87622c247a98a6 100644 (file)
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#ifndef __GINAC_EXPAIR_H__
+#define __GINAC_EXPAIR_H__
+
+#include <ginac/ex.h>
+#include <ginac/numeric.h>
+
 /** A pair of expressions.
  *  This similar to, but slightly extended STL's pair<> but we need to account
  *  for methods like .compare() */
@@ -186,5 +192,4 @@ public:
     }
 };
 
-
-           
+#endif // ndef __GINAC_EXPAIR_H__
index 7f8664eed926d459aa1b5a8454c89c91b711fa97..23ccaa961f3f72c198f02e848069c6a2724382fc 100644 (file)
@@ -21,7 +21,8 @@
 #include <string>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "expairseq.h"
+#include "lst.h"
 
 #ifdef EXPAIRSEQ_USE_HASHTAB
 #error "!!!!!!!!TODO: expair_needs_further_processing not yet implemented for hashtabs, sorry. A.F."
@@ -93,14 +94,14 @@ void expairseq::copy(expairseq const & other)
 // other constructors
 //////////
 
-expairseq::expairseq(ex const & lh, ex const & rh) : basic(TINFO_EXPAIRSEQ)
+expairseq::expairseq(ex const & lh, ex const & rh) : basic(TINFO_expairseq)
 {
     debugmsg("expairseq constructor from ex,ex",LOGLEVEL_CONSTRUCT);
     construct_from_2_ex(lh,rh);
     ASSERT(is_canonical());
 }
 
-expairseq::expairseq(exvector const & v) : basic(TINFO_EXPAIRSEQ)
+expairseq::expairseq(exvector const & v) : basic(TINFO_expairseq)
 {
     debugmsg("expairseq constructor from exvector",LOGLEVEL_CONSTRUCT);
     construct_from_exvector(v);
@@ -109,7 +110,7 @@ expairseq::expairseq(exvector const & v) : basic(TINFO_EXPAIRSEQ)
 
 /*
 expairseq::expairseq(epvector const & v, bool do_not_canonicalize) :
-    basic(TINFO_EXPAIRSEQ)
+    basic(TINFO_expairseq)
 {
     debugmsg("expairseq constructor from epvector",LOGLEVEL_CONSTRUCT);
     if (do_not_canonicalize) {
@@ -125,7 +126,7 @@ expairseq::expairseq(epvector const & v, bool do_not_canonicalize) :
 */
 
 expairseq::expairseq(epvector const & v, ex const & oc) :
-    basic(TINFO_EXPAIRSEQ), overall_coeff(oc)
+    basic(TINFO_expairseq), overall_coeff(oc)
 {
     debugmsg("expairseq constructor from epvector,ex",LOGLEVEL_CONSTRUCT);
     construct_from_epvector(v);
@@ -133,7 +134,7 @@ expairseq::expairseq(epvector const & v, ex const & oc) :
 }
 
 expairseq::expairseq(epvector * vp, ex const & oc) :
-    basic(TINFO_EXPAIRSEQ), overall_coeff(oc)
+    basic(TINFO_expairseq), overall_coeff(oc)
 {
     debugmsg("expairseq constructor from epvector *,ex",LOGLEVEL_CONSTRUCT);
     ASSERT(vp!=0);
index a19c78bb54247cbc3760e7c30b091b0b704853b5..faaa7532294d1a585853b638caec0aa480cc7f41 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <vector>
 #include <list>
+#include <ginac/expair.h>
 
 //#define EXPAIRSEQ_USE_HASHTAB
 
@@ -50,7 +51,7 @@ class expairseq : public basic
 
     // default constructor, destructor, copy constructor assignment operator and helpers
 public:
-    expairseq() : basic(TINFO_EXPAIRSEQ)
+    expairseq() : basic(TINFO_expairseq)
 #ifdef EXPAIRSEQ_USE_HASHTAB
         , hashtabsize(0)
 #endif // def EXPAIRSEQ_USE_HASHTAB
index ad200a4690ca40d0b57b0faa15de73a7c7e1bf7b..3a97d4bbca527e580c69f0e81beb45f55c64883d 100644 (file)
@@ -31,7 +31,8 @@
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "exprseq.h"
+#include "ex.h"
 
 #define RESERVE(s,size) (s).reserve(size)
 
@@ -41,7 +42,7 @@
 
 // public
 
-exprseq::exprseq() : basic(TINFO_EXPRSEQ)
+exprseq::exprseq() : basic(TINFO_exprseq)
 {
     debugmsg("exprseq default constructor",LOGLEVEL_CONSTRUCT);
 }
@@ -88,7 +89,7 @@ void exprseq::destroy(bool call_parent)
 
 // public
 
-exprseq::exprseq(exvector const & s, bool discardable) :  basic(TINFO_EXPRSEQ)
+exprseq::exprseq(exvector const & s, bool discardable) :  basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from exvector",
              LOGLEVEL_CONSTRUCT);
@@ -99,7 +100,7 @@ exprseq::exprseq(exvector const & s, bool discardable) :  basic(TINFO_EXPRSEQ)
     }
 }
 
-exprseq::exprseq(exvector * vp) : basic(TINFO_EXPRSEQ)
+exprseq::exprseq(exvector * vp) : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from exvector *",LOGLEVEL_CONSTRUCT);
     ASSERT(vp!=0);
@@ -107,7 +108,7 @@ exprseq::exprseq(exvector * vp) : basic(TINFO_EXPRSEQ)
     delete vp;
 }
 
-exprseq::exprseq(ex const & e1) :  basic(TINFO_EXPRSEQ)
+exprseq::exprseq(ex const & e1) :  basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 1 ex",
              LOGLEVEL_CONSTRUCT);
@@ -115,7 +116,7 @@ exprseq::exprseq(ex const & e1) :  basic(TINFO_EXPRSEQ)
     seq.push_back(e1);
 }
 
-exprseq::exprseq(ex const & e1, ex const & e2) : basic(TINFO_EXPRSEQ)
+exprseq::exprseq(ex const & e1, ex const & e2) : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 2 ex",
              LOGLEVEL_CONSTRUCT);
@@ -125,7 +126,7 @@ exprseq::exprseq(ex const & e1, ex const & e2) : basic(TINFO_EXPRSEQ)
 }
 
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3)
-    : basic(TINFO_EXPRSEQ)
+    : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 3 ex",
              LOGLEVEL_CONSTRUCT);
@@ -136,7 +137,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3)
 }
 
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
-                     ex const & e4) : basic(TINFO_EXPRSEQ)
+                     ex const & e4) : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 4 ex",
              LOGLEVEL_CONSTRUCT);
@@ -148,7 +149,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
 }
 
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
-                     ex const & e4, ex const & e5) : basic(TINFO_EXPRSEQ)
+                     ex const & e4, ex const & e5) : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 5 ex",
              LOGLEVEL_CONSTRUCT);
@@ -162,7 +163,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
 
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6)
-    : basic(TINFO_EXPRSEQ)
+    : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 6 ex",
              LOGLEVEL_CONSTRUCT);
@@ -177,7 +178,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
 
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
-                     ex const & e7) : basic(TINFO_EXPRSEQ)
+                     ex const & e7) : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 7 ex",
              LOGLEVEL_CONSTRUCT);
@@ -193,7 +194,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
 
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
-                     ex const & e7, ex const & e8) : basic(TINFO_EXPRSEQ)
+                     ex const & e7, ex const & e8) : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 8 ex",
              LOGLEVEL_CONSTRUCT);
@@ -211,7 +212,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
 exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
                      ex const & e7, ex const & e8, ex const & e9)
-    : basic(TINFO_EXPRSEQ)
+    : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 9 ex",
              LOGLEVEL_CONSTRUCT);
@@ -231,7 +232,7 @@ exprseq::exprseq(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
                      ex const & e7, ex const & e8, ex const & e9,
                      ex const &e10)
-    : basic(TINFO_EXPRSEQ)
+    : basic(TINFO_exprseq)
 {
     debugmsg("exprseq constructor from 10 ex",
              LOGLEVEL_CONSTRUCT);
index 16d99bd38847aafbdc56ca1cdcd234a7a52747d5..f82a21c0447a1ed2c336028a5b5dd8136e471728 100644 (file)
@@ -32,7 +32,7 @@
 #define __GINAC_EXPRSEQ_H__
 
 #include <vector>
-#include <ginac/ginac.h>
+#include <ginac/basic.h>
 
 typedef vector<ex> exvector;
 
index 2da0fea1f6b1e493628f50d215addd5037d298f8..1482a58b63665a83d7d8dfb8636a46e88b8b5d05 100644 (file)
@@ -20,7 +20,8 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include "ginac.h"
+#include "exprseq.h"
+#include "ex.h"
 
 bool exprseq::info(unsigned inf) const
 {
index c9d0e392dc34b1d466440bbad00b343dab16fc31..b97d0c4edfc89360793b03918ae56a0110bb4154 100644 (file)
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include "ginac.h"
+#include "fail.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -28,7 +28,7 @@
 
 // public
 
-fail::fail() : basic(TINFO_FAIL)
+fail::fail() : basic(TINFO_fail)
 {
     debugmsg("fail default constructor",LOGLEVEL_CONSTRUCT);
 }
index 666d85f45fa5643448cb621fc82a69875975c366..40897e2e74417d601ba559453e1152eb1802e718 100644 (file)
@@ -23,6 +23,8 @@
 #ifndef __GINAC_FAIL_H__
 #define __GINAC_FAIL_H__
 
+#include <ginac/basic.h>
+
 class fail : public basic
 {
 // member functions
index 77aa3c6bc21411c2540cbb651c21236f2e807893..0afb41ebe03b728427542c20795e2744c78f2c3f 100644 (file)
@@ -26,7 +26,8 @@
 #include <string>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "function.h"
+#include "ex.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -37,7 +38,7 @@
 function::function() : serial(0)
 {
     debugmsg("function default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 function::~function()
@@ -84,7 +85,7 @@ void function::destroy(bool call_parent)
 function::function(unsigned ser) : serial(ser)
 {
     debugmsg("function constructor from unsigned",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 // the following lines have been generated for max. 10 parameters
@@ -92,61 +93,61 @@ function::function(unsigned ser, ex const & param1)
     : exprseq(param1), serial(ser)
 {
     debugmsg("function constructor from unsigned,1*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2)
     : exprseq(param1, param2), serial(ser)
 {
     debugmsg("function constructor from unsigned,2*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3)
     : exprseq(param1, param2, param3), serial(ser)
 {
     debugmsg("function constructor from unsigned,3*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4)
     : exprseq(param1, param2, param3, param4), serial(ser)
 {
     debugmsg("function constructor from unsigned,4*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4, ex const & param5)
     : exprseq(param1, param2, param3, param4, param5), serial(ser)
 {
     debugmsg("function constructor from unsigned,5*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4, ex const & param5, ex const & param6)
     : exprseq(param1, param2, param3, param4, param5, param6), serial(ser)
 {
     debugmsg("function constructor from unsigned,6*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4, ex const & param5, ex const & param6, ex const & param7)
     : exprseq(param1, param2, param3, param4, param5, param6, param7), serial(ser)
 {
     debugmsg("function constructor from unsigned,7*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4, ex const & param5, ex const & param6, ex const & param7, ex const & param8)
     : exprseq(param1, param2, param3, param4, param5, param6, param7, param8), serial(ser)
 {
     debugmsg("function constructor from unsigned,8*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4, ex const & param5, ex const & param6, ex const & param7, ex const & param8, ex const & param9)
     : exprseq(param1, param2, param3, param4, param5, param6, param7, param8, param9), serial(ser)
 {
     debugmsg("function constructor from unsigned,9*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 function::function(unsigned ser, ex const & param1, ex const & param2, ex const & param3, ex const & param4, ex const & param5, ex const & param6, ex const & param7, ex const & param8, ex const & param9, ex const & param10)
     : exprseq(param1, param2, param3, param4, param5, param6, param7, param8, param9, param10), serial(ser)
 {
     debugmsg("function constructor from unsigned,10*ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 // end of generated lines
@@ -154,21 +155,21 @@ function::function(unsigned ser, ex const & param1, ex const & param2, ex const
 function::function(unsigned ser, exprseq const & es) : exprseq(es), serial(ser)
 {
     debugmsg("function constructor from unsigned,exprseq",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 function::function(unsigned ser, exvector const & v, bool discardable) 
     : exprseq(v,discardable), serial(ser)
 {
     debugmsg("function constructor from string,exvector,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 function::function(unsigned ser, exvector * vp) 
     : exprseq(vp), serial(ser)
 {
     debugmsg("function constructor from unsigned,exvector *",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 //////////
index ffc4eda4bfdf2dd8a50efbab570663dcf488f32b..b2fcd7acc94b4fc70cbd199e3732da13a15d874b 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <string>
 #include <vector>
+#include <ginac/exprseq.h>
 
 class function;
 
@@ -287,4 +288,3 @@ extern const function some_function;
 extern type_info const & typeid_function;
 
 #endif // ndef __GINAC_FUNCTION_H__
-
index e40478d051d83f2d8492ed566391d4c89f9264c1..1a1fcbaaf073dac967107b31cf929ab2431755f0 100755 (executable)
@@ -72,7 +72,7 @@ function::function(unsigned ser, ${SEQ1})
     : exprseq(${SEQ2}), serial(ser)
 {
     debugmsg(\"function constructor from unsigned,${N}*ex\",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 END_OF_CONSTRUCTORS_IMPLEMENTATION
 
@@ -147,6 +147,7 @@ $interface=<<END_OF_INTERFACE;
 
 #include <string>
 #include <vector>
+#include <ginac/exprseq.h>
 
 class function;
 
@@ -308,7 +309,8 @@ $implementation=<<END_OF_IMPLEMENTATION;
 #include <string>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "function.h"
+#include "ex.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -319,7 +321,7 @@ $implementation=<<END_OF_IMPLEMENTATION;
 function::function() : serial(0)
 {
     debugmsg("function default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 function::~function()
@@ -366,7 +368,7 @@ void function::destroy(bool call_parent)
 function::function(unsigned ser) : serial(ser)
 {
     debugmsg("function constructor from unsigned",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 // the following lines have been generated for max. ${maxargs} parameters
@@ -376,21 +378,21 @@ $constructors_implementation
 function::function(unsigned ser, exprseq const & es) : exprseq(es), serial(ser)
 {
     debugmsg("function constructor from unsigned,exprseq",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 function::function(unsigned ser, exvector const & v, bool discardable) 
     : exprseq(v,discardable), serial(ser)
 {
     debugmsg("function constructor from string,exvector,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 function::function(unsigned ser, exvector * vp) 
     : exprseq(vp), serial(ser)
 {
     debugmsg("function constructor from unsigned,exvector *",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_FUNCTION;
+    tinfo_key = TINFO_function;
 }
 
 //////////
index 808029ecf9cd1da2303c58b512ffc8131a772953..ae9a699f626d1490c16cd88cc0e99c6a06f8da19 100644 (file)
 #ifndef __GINAC_H__
 #define __GINAC_H__
 
-#include <ginac/flags.h>
-#include <ginac/tinfos.h>
-#include <ginac/debugmsg.h>
-
 #include <ginac/basic.h>
 
 #include <ginac/ex.h>
index a688c6d495efff99704309ac795d8fe0202efc8c..c24846833989386f5c78d87961dd59a6719d5414 100644 (file)
 
 #include <stdexcept>
 
-#include "ginac.h"
+#include "idx.h"
+#include "ex.h"
+#include "lst.h"
+#include "relational.h"
 #include "utils.h"
 
 //////////
@@ -30,7 +33,7 @@
 
 // public
 
-idx::idx() : basic(TINFO_IDX), symbolic(true), covariant(false)
+idx::idx() : basic(TINFO_idx), symbolic(true), covariant(false)
 {
     debugmsg("idx default constructor",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
@@ -82,28 +85,28 @@ void idx::destroy(bool call_parent)
 
 // public
 
-idx::idx(bool cov) : basic(TINFO_IDX), symbolic(true), covariant(cov)
+idx::idx(bool cov) : basic(TINFO_idx), symbolic(true), covariant(cov)
 {
     debugmsg("idx constructor from bool",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
     name="index"+ToString(serial);
 }
 
-idx::idx(string const & n, bool cov) : basic(TINFO_IDX),  
+idx::idx(string const & n, bool cov) : basic(TINFO_idx),  
     symbolic(true), name(n), covariant(cov)
 {
     debugmsg("idx constructor from string,bool",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
 }
 
-idx::idx(char const * n, bool cov) : basic(TINFO_IDX),  
+idx::idx(char const * n, bool cov) : basic(TINFO_idx),  
     symbolic(true), name(n), covariant(cov)
 {
     debugmsg("idx constructor from char*,bool",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
 }
 
-idx::idx(unsigned const v, bool cov) : basic(TINFO_IDX),
+idx::idx(unsigned const v, bool cov) : basic(TINFO_idx),
     symbolic(false), value(v), covariant(cov)
 {
     debugmsg("idx constructor from unsigned,bool",LOGLEVEL_CONSTRUCT);
index 07c18b48678d958d22dd1f93db10018adfd89ee8..f32722f784e1fc6a4a1c56102a4f92b4fac6c9c3 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <string>
 #include <vector>
+#include <ginac/basic.h>
 
 class idx : public basic
 {
index ffcf5141734b25af6d402908562a16c1fbfa91df..7fcd8939ef6d877bc0e9884532a24102b23ccddc 100644 (file)
@@ -21,7 +21,9 @@
 
 #include <string>
 
-#include "ginac.h"
+#include "indexed.h"
+#include "ex.h"
+#include "idx.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -32,7 +34,7 @@
 indexed::indexed()
 {
     debugmsg("indexed default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
 }
 
 indexed::~indexed()
@@ -80,14 +82,14 @@ void indexed::destroy(bool call_parent)
 indexed::indexed(ex const & i1) : exprseq(i1)
 {
     debugmsg("indexed constructor from ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
     ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(ex const & i1, ex const & i2) : exprseq(i1,i2)
 {
     debugmsg("indexed constructor from ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
     ASSERT(all_of_type_idx());
 }
 
@@ -95,21 +97,21 @@ indexed::indexed(ex const & i1, ex const & i2, ex const & i3)
     : exprseq(i1,i2,i3)
 {
     debugmsg("indexed constructor from ex,ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
     ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(exvector const & iv) : exprseq(iv)
 {
     debugmsg("indexed constructor from exvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
     ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(exvector * ivp) : exprseq(ivp)
 {
     debugmsg("indexed constructor from exvector *",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
     ASSERT(all_of_type_idx());
 }
 
index 5aa53185f6c25e948801ce0cc4b1ae483a193583..97e3e1a71229f4f056f8919b81c0d0227690ff57 100644 (file)
@@ -23,6 +23,7 @@
 #define __GINAC_INDEXED_H__
 
 #include <string>
+#include <ginac/exprseq.h>
 
 /** Base class for non-commutative indexed objects */
 class indexed : public exprseq
index 981e98e3f119790ab126dad29f711f065ae735ca..48567821534b9df55e73997edd0fbc72d28fd3bf 100644 (file)
 #include <vector>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "inifcns.h"
+#include "ex.h"
+#include "constant.h"
+#include "lst.h"
+#include "matrix.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 //////////
 // dilogarithm
@@ -126,7 +137,7 @@ ex Order_series(ex const & x, symbol const & s, ex const & point, int order)
 REGISTER_FUNCTION(Order, Order_eval, NULL, NULL, Order_series);
 
 /** linear solve. */
-ex lsolve(ex eqns, ex symbols)
+ex lsolve(ex const &eqns, ex const &symbols)
 {
     // solve a system of linear equations
     if (eqns.info(info_flags::relation_equal)) {
@@ -218,7 +229,7 @@ ex lsolve(ex eqns, ex symbols)
 }
 
 /** non-commutative power. */
-ex ncpower(ex basis, unsigned exponent)
+ex ncpower(ex const &basis, unsigned exponent)
 {
     if (exponent==0) {
         return exONE();
@@ -232,4 +243,3 @@ ex ncpower(ex basis, unsigned exponent)
 
     return ncmul(v,1);
 }
-
index ecdfa897aa9ff8a1a364c2fb29e7d5ab5c64786a..095abf7cd5427cf1428feaf5f8ba319009ae0677 100644 (file)
@@ -22,6 +22,9 @@
 #ifndef __GINAC_INIFCNS_H__
 #define __GINAC_INIFCNS_H__
 
+#include <ginac/function.h>
+#include <ginac/ex.h>
+
 /** Sine. */
 DECLARE_FUNCTION_1P(sin)
 
@@ -85,9 +88,9 @@ DECLARE_FUNCTION_2P(binomial)
 /** Order term function (for truncated power series). */
 DECLARE_FUNCTION_1P(Order)
 
-ex lsolve(ex eqns,ex symbols);
+ex lsolve(ex const &eqns, ex const &symbols);
 
-ex ncpower(ex basis, unsigned exponent);
+ex ncpower(ex const &basis, unsigned exponent);
 
 inline bool is_order_function(ex const & e)
 {
index f575aca5ddc4ff1881e00061766dd1db78afd7f3..73a64b3e2d3b07dc9e91988b3549ae9a7233e2fd 100644 (file)
 #include <vector>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "inifcns.h"
+#include "ex.h"
+#include "constant.h"
+#include "numeric.h"
+#include "power.h"
+#include "symbol.h"
 
 //////////
 // gamma function
@@ -54,14 +59,14 @@ ex gamma_eval(ex const & x)
                 numeric n = ex_to_numeric(x).sub(numHALF());
                 numeric coefficient = doublefactorial(n.mul(numTWO()).sub(numONE()));
                 coefficient = coefficient.div(numTWO().power(n));
-                return mul(coefficient,power(Pi,numHALF()));
+                return coefficient * power(Pi,numHALF());
             } else {
                 // trap negative x=(-n+1/2)
                 // gamma(-n+1/2) -> Pi^(1/2)*(-2)^n/(1*3*..*(2*n-1))
                 numeric n = abs(ex_to_numeric(x).sub(numHALF()));
                 numeric coefficient = numeric(-2).power(n);
                 coefficient = coefficient.div(doublefactorial(n.mul(numTWO()).sub(numONE())));;
-                return mul(coefficient,power(Pi,numHALF()));
+                return coefficient * power(Pi,numHALF());
             }
         }
     }
index 85443307496353bc3e5a18eec1c3a212a8482d6b..fae653182f4f7c9076526c5cd1dba36ac2e4abef 100644 (file)
 #include <vector>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "inifcns.h"
+#include "ex.h"
+#include "constant.h"
+#include "numeric.h"
+#include "power.h"
 
 //////////
 // exponential function
index 5f527d7af9227320ac89dae306d32245e54e1ce2..05ca5fbe23f3aabdcbc98ef6c5ae13943b0e6c46 100644 (file)
@@ -22,7 +22,9 @@
 
 #include <string>
 
-#include "ginac.h"
+#include "isospin.h"
+#include "ex.h"
+#include "ncmul.h"
 #include "utils.h"
 
 //////////
@@ -36,7 +38,7 @@ isospin::isospin()
     debugmsg("isospin default constructor",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
     name=autoname_prefix()+ToString(serial);
-    tinfo_key=TINFO_ISOSPIN;
+    tinfo_key=TINFO_isospin;
 }
 
 isospin::~isospin()
@@ -88,7 +90,7 @@ isospin::isospin(string const & initname)
     debugmsg("isospin constructor from string",LOGLEVEL_CONSTRUCT);
     name=initname;
     serial=next_serial++;
-    tinfo_key=TINFO_ISOSPIN;
+    tinfo_key=TINFO_isospin;
 }
 
 //////////
@@ -145,7 +147,7 @@ bool isospin::info(unsigned inf) const
 
 int isospin::compare_same_type(basic const & other) const
 {
-    ASSERT(other.tinfo() == TINFO_ISOSPIN);
+    ASSERT(other.tinfo() == TINFO_isospin);
     const isospin *o = static_cast<const isospin *>(&other);
     if (serial==o->serial) {
         return indexed::compare_same_type(other);
index 56ae1b7920e414fbdc3aff65f5106f3d407b43bc..331a70e68b306860a63a76335af1a083897dd6d0 100644 (file)
@@ -23,6 +23,7 @@
 #define __GINAC_ISOSPIN_H__
 
 #include <string>
+#include <ginac/indexed.h>
 
 /** Base class for isospin object */
 class isospin : public indexed
index af35a457d5fa22a668d67aec3d4b473c64cec353..02611668313b23a7ad7ed733b18c19dc9eda2701 100644 (file)
@@ -21,7 +21,7 @@
 
 #include <stdexcept>
 
-#include "ginac.h"
+#include "lorentzidx.h"
 #include "utils.h"
 
 //////////
@@ -35,7 +35,7 @@ lorentzidx::lorentzidx() : orthogonal_only(false), dim_parallel_space(0)
     debugmsg("lorentzidx default constructor",LOGLEVEL_CONSTRUCT);
     // serial is incremented in idx::idx()
     name="mu"+ToString(serial);
-    tinfo_key=TINFO_LORENTZIDX;
+    tinfo_key=TINFO_lorentzidx;
 }
 
 lorentzidx::~lorentzidx() 
@@ -90,7 +90,7 @@ lorentzidx::lorentzidx(bool cov, bool oonly, unsigned dimp) :
     } else {
         name="mu"+ToString(serial);
     }
-    tinfo_key=TINFO_LORENTZIDX;
+    tinfo_key=TINFO_lorentzidx;
 }
 
 lorentzidx::lorentzidx(string const & n, bool cov, bool oonly, unsigned dimp)
@@ -98,7 +98,7 @@ lorentzidx::lorentzidx(string const & n, bool cov, bool oonly, unsigned dimp)
 {
     debugmsg("lorentzidx constructor from string,bool,bool,unsigned",
              LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_LORENTZIDX;
+    tinfo_key=TINFO_lorentzidx;
 }
 
 lorentzidx::lorentzidx(char const * n, bool cov, bool oonly, unsigned dimp)
@@ -106,14 +106,14 @@ lorentzidx::lorentzidx(char const * n, bool cov, bool oonly, unsigned dimp)
 {
     debugmsg("lorentzidx constructor from char*,bool,bool,unsigned",
              LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_LORENTZIDX;
+    tinfo_key=TINFO_lorentzidx;
 }
 
 lorentzidx::lorentzidx(unsigned const v, bool cov) : idx(v,cov),
     orthogonal_only(false), dim_parallel_space(0)
 {
     debugmsg("lorentzidx constructor from unsigned,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_LORENTZIDX;
+    tinfo_key=TINFO_lorentzidx;
 }
 
 //////////
index 8f9bbf40a4fb5495ff1660de5028cec3d964fbe9..001494088735c39fc96002ab234e442bc9cc48af 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <string>
 #include <vector>
+#include <ginac/idx.h>
 
 class lorentzidx : public idx
 {
index 7fd3e407ad4fa37e900b50a8f709cd139bcab734..0c752ccd9555e4cf5d3d56592bac5b6a5e95297b 100644 (file)
@@ -31,7 +31,8 @@
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "lst.h"
+#include "ex.h"
 
 #define RESERVE(s,size) // no reserve needed for list
 
@@ -41,7 +42,7 @@
 
 // public
 
-lst::lst() : basic(TINFO_LST)
+lst::lst() : basic(TINFO_lst)
 {
     debugmsg("lst default constructor",LOGLEVEL_CONSTRUCT);
 }
@@ -88,7 +89,7 @@ void lst::destroy(bool call_parent)
 
 // public
 
-lst::lst(exlist const & s, bool discardable) :  basic(TINFO_LST)
+lst::lst(exlist const & s, bool discardable) :  basic(TINFO_lst)
 {
     debugmsg("lst constructor from exlist",
              LOGLEVEL_CONSTRUCT);
@@ -99,7 +100,7 @@ lst::lst(exlist const & s, bool discardable) :  basic(TINFO_LST)
     }
 }
 
-lst::lst(exlist * vp) : basic(TINFO_LST)
+lst::lst(exlist * vp) : basic(TINFO_lst)
 {
     debugmsg("lst constructor from exlist *",LOGLEVEL_CONSTRUCT);
     ASSERT(vp!=0);
@@ -107,7 +108,7 @@ lst::lst(exlist * vp) : basic(TINFO_LST)
     delete vp;
 }
 
-lst::lst(ex const & e1) :  basic(TINFO_LST)
+lst::lst(ex const & e1) :  basic(TINFO_lst)
 {
     debugmsg("lst constructor from 1 ex",
              LOGLEVEL_CONSTRUCT);
@@ -115,7 +116,7 @@ lst::lst(ex const & e1) :  basic(TINFO_LST)
     seq.push_back(e1);
 }
 
-lst::lst(ex const & e1, ex const & e2) : basic(TINFO_LST)
+lst::lst(ex const & e1, ex const & e2) : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 2 ex",
              LOGLEVEL_CONSTRUCT);
@@ -125,7 +126,7 @@ lst::lst(ex const & e1, ex const & e2) : basic(TINFO_LST)
 }
 
 lst::lst(ex const & e1, ex const & e2, ex const & e3)
-    : basic(TINFO_LST)
+    : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 3 ex",
              LOGLEVEL_CONSTRUCT);
@@ -136,7 +137,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3)
 }
 
 lst::lst(ex const & e1, ex const & e2, ex const & e3,
-                     ex const & e4) : basic(TINFO_LST)
+                     ex const & e4) : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 4 ex",
              LOGLEVEL_CONSTRUCT);
@@ -148,7 +149,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3,
 }
 
 lst::lst(ex const & e1, ex const & e2, ex const & e3,
-                     ex const & e4, ex const & e5) : basic(TINFO_LST)
+                     ex const & e4, ex const & e5) : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 5 ex",
              LOGLEVEL_CONSTRUCT);
@@ -162,7 +163,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3,
 
 lst::lst(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6)
-    : basic(TINFO_LST)
+    : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 6 ex",
              LOGLEVEL_CONSTRUCT);
@@ -177,7 +178,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3,
 
 lst::lst(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
-                     ex const & e7) : basic(TINFO_LST)
+                     ex const & e7) : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 7 ex",
              LOGLEVEL_CONSTRUCT);
@@ -193,7 +194,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3,
 
 lst::lst(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
-                     ex const & e7, ex const & e8) : basic(TINFO_LST)
+                     ex const & e7, ex const & e8) : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 8 ex",
              LOGLEVEL_CONSTRUCT);
@@ -211,7 +212,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3,
 lst::lst(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
                      ex const & e7, ex const & e8, ex const & e9)
-    : basic(TINFO_LST)
+    : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 9 ex",
              LOGLEVEL_CONSTRUCT);
@@ -231,7 +232,7 @@ lst::lst(ex const & e1, ex const & e2, ex const & e3,
                      ex const & e4, ex const & e5, ex const & e6,
                      ex const & e7, ex const & e8, ex const & e9,
                      ex const &e10)
-    : basic(TINFO_LST)
+    : basic(TINFO_lst)
 {
     debugmsg("lst constructor from 10 ex",
              LOGLEVEL_CONSTRUCT);
index 08b75f78b101985c04a3bbc49d5c07d88212e18f..e96f950e6e6aec297436036d4ba58708722cf6b6 100644 (file)
@@ -32,7 +32,7 @@
 #define __GINAC_LST_H__
 
 #include <list>
-#include <ginac/ginac.h>
+#include <ginac/basic.h>
 
 typedef list<ex> exlist;
 
index ae5910d79d217a75219b898269b29e013b86973a..5e507afd027471906515c66ab8fbbdefad0bfcc2 100644 (file)
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include "ginac.h"
+#include "lst.h"
 
 bool lst::info(unsigned inf) const
 {
index 59863ea5e206f0492ce9268f9006d8ded0582922..efece8566f3b85c725fe0e16045740a2cc35abff 100644 (file)
@@ -22,7 +22,7 @@
 #include <algorithm>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "matrix.h"
 
 //////////
 // default constructor, destructor, copy constructor, assignment operator
@@ -33,7 +33,7 @@
 
 /** Default ctor.  Initializes to 1 x 1-dimensional zero-matrix. */
 matrix::matrix()
-    : basic(TINFO_MATRIX), row(1), col(1)
+    : basic(TINFO_matrix), row(1), col(1)
 {
     debugmsg("matrix default constructor",LOGLEVEL_CONSTRUCT);
     m.push_back(exZERO());
@@ -86,7 +86,7 @@ void matrix::destroy(bool call_parent)
  *  @param r number of rows
  *  @param c number of cols */
 matrix::matrix(int r, int c)
-    : basic(TINFO_MATRIX), row(r), col(c)
+    : basic(TINFO_matrix), row(r), col(c)
 {
     debugmsg("matrix constructor from int,int",LOGLEVEL_CONSTRUCT);
     m.resize(r*c, exZERO());
@@ -96,7 +96,7 @@ matrix::matrix(int r, int c)
 
 /** Ctor from representation, for internal use only. */
 matrix::matrix(int r, int c, vector<ex> const & m2)
-    : basic(TINFO_MATRIX), row(r), col(c), m(m2)
+    : basic(TINFO_matrix), row(r), col(c), m(m2)
 {
     debugmsg("matrix constructor from int,int,vector<ex>",LOGLEVEL_CONSTRUCT);
 }
index 141437bfa06f93fc4bb8988e7205555c4b8cc5a5..f30a39a264bbd7977698fc66b2df701a07d0a383 100644 (file)
@@ -23,6 +23,8 @@
 #define __GINAC_MATRIX_H__
 
 #include <vector>
+#include <ginac/basic.h>
+#include <ginac/ex.h>
 
 /** Symbolic matrices. */
 class matrix : public basic
index ef0af1b732cb785f3292acf2fb112201a076d28a..021433a82d64e548d9e248f99dbaafdc63ffa491 100644 (file)
@@ -22,7 +22,9 @@
 #include <vector>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "mul.h"
+#include "add.h"
+#include "power.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -33,7 +35,7 @@
 mul::mul()
 {
     debugmsg("mul default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
 }
 
 mul::~mul()
@@ -79,7 +81,7 @@ void mul::destroy(bool call_parent)
 mul::mul(ex const & lh, ex const & rh)
 {
     debugmsg("mul constructor from ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     overall_coeff=exONE();
     construct_from_2_ex(lh,rh);
     ASSERT(is_canonical());
@@ -88,7 +90,7 @@ mul::mul(ex const & lh, ex const & rh)
 mul::mul(exvector const & v)
 {
     debugmsg("mul constructor from exvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     overall_coeff=exONE();
     construct_from_exvector(v);
     ASSERT(is_canonical());
@@ -98,7 +100,7 @@ mul::mul(exvector const & v)
 mul::mul(epvector const & v, bool do_not_canonicalize)
 {
     debugmsg("mul constructor from epvector,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     if (do_not_canonicalize) {
         seq=v;
 #ifdef EXPAIRSEQ_USE_HASHTAB
@@ -114,7 +116,7 @@ mul::mul(epvector const & v, bool do_not_canonicalize)
 mul::mul(epvector const & v)
 {
     debugmsg("mul constructor from epvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     overall_coeff=exONE();
     construct_from_epvector(v);
     ASSERT(is_canonical());
@@ -123,7 +125,7 @@ mul::mul(epvector const & v)
 mul::mul(epvector const & v, ex const & oc)
 {
     debugmsg("mul constructor from epvector,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     overall_coeff=oc;
     construct_from_epvector(v);
     ASSERT(is_canonical());
@@ -132,7 +134,7 @@ mul::mul(epvector const & v, ex const & oc)
 mul::mul(epvector * vp, ex const & oc)
 {
     debugmsg("mul constructor from epvector *,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     ASSERT(vp!=0);
     overall_coeff=oc;
     construct_from_epvector(*vp);
@@ -143,7 +145,7 @@ mul::mul(epvector * vp, ex const & oc)
 mul::mul(ex const & lh, ex const & mh, ex const & rh)
 {
     debugmsg("mul constructor from ex,ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_MUL;
+    tinfo_key = TINFO_mul;
     exvector factors;
     factors.reserve(3);
     factors.push_back(lh);
index ee1993764e421598b5dc75f02ceb3a4f1c979d92..b134fc207c1317b76a51a6b77f14356b990a26e8 100644 (file)
@@ -22,7 +22,7 @@
 #ifndef __GINAC_MUL_H__
 #define __GINAC_MUL_H__
 
-class mul;
+#include <ginac/expairseq.h>
 
 /** Product of expressions. */
 class mul : public expairseq
@@ -115,4 +115,3 @@ extern type_info const & typeid_mul;
 #define ex_to_mul(X) static_cast<mul const &>(*(X).bp)
 
 #endif // ndef __GINAC_MUL_H__
-
index be9d8c9da594af4fbe1f4e1860f7da9205ddcdc7..6d87597f8cc7d8bb1ee1cfbd27cd1773aee59c39 100644 (file)
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "ncmul.h"
+#include "ex.h"
+#include "add.h"
+#include "mul.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -34,7 +37,7 @@
 ncmul::ncmul()
 {
     debugmsg("ncmul default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::~ncmul()
@@ -81,28 +84,28 @@ ncmul::ncmul(ex const & lh, ex const & rh) :
     exprseq(lh,rh)
 {
     debugmsg("ncmul constructor from ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::ncmul(ex const & f1, ex const & f2, ex const & f3) :
     exprseq(f1,f2,f3)
 {
     debugmsg("ncmul constructor from 3 ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::ncmul(ex const & f1, ex const & f2, ex const & f3,
       ex const & f4) : exprseq(f1,f2,f3,f4)
 {
     debugmsg("ncmul constructor from 4 ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::ncmul(ex const & f1, ex const & f2, ex const & f3,
       ex const & f4, ex const & f5) : exprseq(f1,f2,f3,f4,f5)
 {
     debugmsg("ncmul constructor from 5 ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::ncmul(ex const & f1, ex const & f2, ex const & f3,
@@ -110,19 +113,19 @@ ncmul::ncmul(ex const & f1, ex const & f2, ex const & f3,
     exprseq(f1,f2,f3,f4,f5,f6)
 {
     debugmsg("ncmul constructor from 6 ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::ncmul(exvector const & v, bool discardable) : exprseq(v,discardable)
 {
     debugmsg("ncmul constructor from exvector,bool",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
 
 ncmul::ncmul(exvector * vp) : exprseq(vp)
 {
     debugmsg("ncmul constructor from exvector *",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_NCMUL;
+    tinfo_key = TINFO_ncmul;
 }
     
 //////////
index 3e7fbc5841741998e18f7ad98e220ca3905354d2..5a8b732b3846b3f070a3d19b531a4deaa62fb9c5 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef __GINAC_NCMUL_H__
 #define __GINAC_NCMUL_H__
 
+#include <ginac/exprseq.h>
+
 /** Non-commutative product of expressions. */
 class ncmul : public exprseq
 {
index c04596856f4e207a9ff5d762930f3278b303652a..fe4eb3ccc6b3b6b2e1a8667c5b0a1c89ee2a6037 100644 (file)
 
 #include <stdexcept>
 
-#include "ginac.h"
+#include "normal.h"
+#include "basic.h"
+#include "ex.h"
+#include "add.h"
+#include "constant.h"
+#include "expairseq.h"
+#include "fail.h"
+#include "indexed.h"
+#include "inifcns.h"
+#include "lst.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 // If comparing expressions (ex::compare()) is fast, you can set this to 1.
 // Some routines like quo(), rem() and gcd() will then return a quick answer
index 731ab5ae24520e7a08cd1f9b22ee33230d039c4f..d4d8ac166664aaf16ae9e54ba2657668ddd70045 100644 (file)
@@ -23,6 +23,9 @@
 #ifndef NORMAL_H
 #define NORMAL_H
 
+class ex;
+class symbol;
+
 // Quotient q(x) of polynomials a(x) and b(x) in Q[x], so that a(x)=b(x)*q(x)+r(x)
 extern ex quo(const ex &a, const ex &b, const symbol &x, bool check_args = true);
 
index fa17175c47e4dc82907d875b3e2ddfbd77a0d574..886fac72ccba04eca9ab78582750cd085c7dd984 100644 (file)
@@ -26,7 +26,8 @@
 #include <vector>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "numeric.h"
+#include "ex.h"
 #include "config.h"
 
 // CLN should not pollute the global namespace, hence we include it here
@@ -48,7 +49,7 @@
 // public
 
 /** default ctor. Numerically it initializes to an integer zero. */
-numeric::numeric() : basic(TINFO_NUMERIC)
+numeric::numeric() : basic(TINFO_numeric)
 {
     debugmsg("numeric default constructor", LOGLEVEL_CONSTRUCT);
     value = new cl_N;
@@ -100,7 +101,7 @@ void numeric::destroy(bool call_parent)
 
 // public
 
-numeric::numeric(int i) : basic(TINFO_NUMERIC)
+numeric::numeric(int i) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from int",LOGLEVEL_CONSTRUCT);
     // Not the whole int-range is available if we don't cast to long
@@ -112,7 +113,7 @@ numeric::numeric(int i) : basic(TINFO_NUMERIC)
             status_flags::hash_calculated);
 }
 
-numeric::numeric(unsigned int i) : basic(TINFO_NUMERIC)
+numeric::numeric(unsigned int i) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from uint",LOGLEVEL_CONSTRUCT);
     // Not the whole uint-range is available if we don't cast to ulong
@@ -124,7 +125,7 @@ numeric::numeric(unsigned int i) : basic(TINFO_NUMERIC)
             status_flags::hash_calculated);
 }
 
-numeric::numeric(long i) : basic(TINFO_NUMERIC)
+numeric::numeric(long i) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from long",LOGLEVEL_CONSTRUCT);
     value = new cl_I(i);
@@ -133,7 +134,7 @@ numeric::numeric(long i) : basic(TINFO_NUMERIC)
             status_flags::hash_calculated);
 }
 
-numeric::numeric(unsigned long i) : basic(TINFO_NUMERIC)
+numeric::numeric(unsigned long i) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from ulong",LOGLEVEL_CONSTRUCT);
     value = new cl_I(i);
@@ -145,7 +146,7 @@ numeric::numeric(unsigned long i) : basic(TINFO_NUMERIC)
 /** Ctor for rational numerics a/b.
  *
  *  @exception overflow_error (division by zero) */
-numeric::numeric(long numer, long denom) : basic(TINFO_NUMERIC)
+numeric::numeric(long numer, long denom) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from long/long",LOGLEVEL_CONSTRUCT);
     if (!denom)
@@ -157,7 +158,7 @@ numeric::numeric(long numer, long denom) : basic(TINFO_NUMERIC)
             status_flags::hash_calculated);
 }
 
-numeric::numeric(double d) : basic(TINFO_NUMERIC)
+numeric::numeric(double d) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from double",LOGLEVEL_CONSTRUCT);
     // We really want to explicitly use the type cl_LF instead of the
@@ -170,7 +171,7 @@ numeric::numeric(double d) : basic(TINFO_NUMERIC)
             status_flags::hash_calculated);
 }
 
-numeric::numeric(char const *s) : basic(TINFO_NUMERIC)
+numeric::numeric(char const *s) : basic(TINFO_numeric)
 {   // MISSING: treatment of complex and ints and rationals.
     debugmsg("numeric constructor from string",LOGLEVEL_CONSTRUCT);
     if (strchr(s, '.'))
@@ -184,7 +185,7 @@ numeric::numeric(char const *s) : basic(TINFO_NUMERIC)
 
 /** Ctor from CLN types.  This is for the initiated user or internal use
  *  only. */
-numeric::numeric(cl_N const & z) : basic(TINFO_NUMERIC)
+numeric::numeric(cl_N const & z) : basic(TINFO_numeric)
 {
     debugmsg("numeric constructor from cl_N", LOGLEVEL_CONSTRUCT);
     value = new cl_N(z);
index c9bd404b1bce58087aa5858bb38df73170eac7cc..b8abb189d04d853f622952ac8b1c017084162416 100644 (file)
@@ -23,6 +23,7 @@
 #define __GINAC_NUMERIC_H__
 
 #include <strstream>
+#include <ginac/basic.h>
 
 #define HASHVALUE_NUMERIC 0x80000001U
 
index b589c3c450b00d1dfb3d504f7866ce19e425082e..0448f02555471bbaac2291a9172a5786af9d9ba0 100644 (file)
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "operators.h"
+#include "basic.h"
+#include "ex.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
 
 // binary arithmetic operators ex with ex
 
index 7ccd39f69bf17cdcafe665281bc28f0be0811229..9cfb01c636c6dd666d0c1e10c67928e3680f2103 100644 (file)
 
 #include <iostream>
 
+class ex;
+class numeric;
+class relational;
+
 // binary arithmetic operators ex with ex
 ex operator+(ex const & lh, ex const & rh);
 ex operator-(ex const & lh, ex const & rh);
index 39ad89988e24659964ca4900480a41eea4dffb9a..afb34e68ccf42aec27ce0d847a5a2693d494688b 100644 (file)
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "power.h"
+#include "expairseq.h"
+#include "add.h"
+#include "mul.h"
+#include "numeric.h"
+#include "relational.h"
+#include "symbol.h"
 
 typedef vector<int> intvector;
 
@@ -33,7 +39,7 @@ typedef vector<int> intvector;
 
 // public
 
-power::power() : basic(TINFO_POWER)
+power::power() : basic(TINFO_power)
 {
     debugmsg("power default constructor",LOGLEVEL_CONSTRUCT);
 }
@@ -80,13 +86,13 @@ void power::destroy(bool call_parent)
 
 // public
 
-power::power(ex const & lh, ex const & rh) : basic(TINFO_POWER), basis(lh), exponent(rh)
+power::power(ex const & lh, ex const & rh) : basic(TINFO_power), basis(lh), exponent(rh)
 {
     debugmsg("power constructor from ex,ex",LOGLEVEL_CONSTRUCT);
     ASSERT(basis.return_type()==return_types::commutative);
 }
 
-power::power(ex const & lh, numeric const & rh) : basic(TINFO_POWER), basis(lh), exponent(rh)
+power::power(ex const & lh, numeric const & rh) : basic(TINFO_power), basis(lh), exponent(rh)
 {
     debugmsg("power constructor from ex,numeric",LOGLEVEL_CONSTRUCT);
     ASSERT(basis.return_type()==return_types::commutative);
index a946a82f5311be8d368fced4227dd4e19fc75d2e..8533a0693ed1639807fbc301d585bbccc7e94e66 100644 (file)
@@ -22,7 +22,9 @@
 #ifndef __GINAC_POWER_H__
 #define __GINAC_POWER_H__
 
-class power;
+#include <ginac/basic.h>
+#include <ginac/ex.h>
+
 class numeric;
 class add;
 
index 8fc1af37c9dfbe8ce424eb2fd2f5debb0de3b02e..2d3a936341b292e036f66f8f6cb7165ff34e6e61 100644 (file)
 
 #include <iostream>
 
-#include "ginac.h"
+#include "basic.h"
+#include "ex.h"
+#include "add.h"
+#include "constant.h"
+#include "expairseq.h"
+#include "fail.h"
+#include "indexed.h"
+#include "inifcns.h"
+#include "matrix.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 void ex::print(ostream & os, unsigned upper_precedence) const
 {
index 34056400c7c60fe0ce613f417657368a88ad6f2f..2a23ab80b5cac957d1b5294253215e129822cc47 100644 (file)
 
 #include <iostream>
 
-#include "ginac.h"
+#include "basic.h"
+#include "ex.h"
+#include "add.h"
+#include "constant.h"
+#include "expairseq.h"
+#include "indexed.h"
+#include "inifcns.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 /** Print expression as a C++ statement. The output looks like
  *  "<type> <var_name> = <expression>;". The "type" parameter has an effect
index a70461068e0ca41a3e11b4355a16d4f4d6a61b54..6be1fbfbaef4717a7809c462b83bf30283855b11 100644 (file)
 
 #include <iostream>
 
-#include "ginac.h"
+#include "basic.h"
+#include "ex.h"
+#include "add.h"
+#include "constant.h"
+#include "expairseq.h"
+#include "fail.h"
+#include "indexed.h"
+#include "inifcns.h"
+#include "matrix.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 void ex::printraw(ostream & os) const
 {
index d30f50582a65b559c0ad8fb803a84f645773760a..89498c5ea85b0f85d83da8c5729596d3abed5ee9 100644 (file)
 #include <iostream>
 #include <math.h>
 
-#include "ginac.h"
+#include "basic.h"
+#include "ex.h"
+#include "add.h"
+#include "constant.h"
+#include "expairseq.h"
+#include "indexed.h"
+#include "inifcns.h"
+#include "mul.h"
+#include "ncmul.h"
+#include "numeric.h"
+#include "power.h"
+#include "relational.h"
+#include "series.h"
+#include "symbol.h"
 
 void ex::printtree(ostream & os, unsigned indent) const
 {
index 9dad5cc70c3178f6b9f3167e1fd3576c8155477a..db6b5cf2bb8e3c488a93b401d88b79ac178ca949 100644 (file)
@@ -21,7 +21,8 @@
 
 #include <stdexcept>
 
-#include "ginac.h"
+#include "relational.h"
+#include "numeric.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -29,7 +30,7 @@
 
 // public
 
-relational::relational() : basic(TINFO_RELATIONAL)
+relational::relational() : basic(TINFO_relational)
 {
     debugmsg("relational default constructor",LOGLEVEL_CONSTRUCT);
 }
@@ -77,7 +78,7 @@ void relational::destroy(bool call_parent)
 
 // public
 
-relational::relational(ex const & lhs, ex const & rhs, operators oper) : basic(TINFO_RELATIONAL)
+relational::relational(ex const & lhs, ex const & rhs, operators oper) : basic(TINFO_relational)
 {
     debugmsg("relational constructor ex,ex,operator",LOGLEVEL_CONSTRUCT);
     lh=lhs;
index 97a9f6668446e6ba44a72ce90caedab490f7ba1d..6f5009df33998a28498dfad456aaf2012dfdac0a 100644 (file)
@@ -22,6 +22,9 @@
 #ifndef __GINAC_RELATIONAL_H__
 #define __GINAC_RELATIONAL_H__
 
+#include <ginac/basic.h>
+#include <ginac/ex.h>
+
 /** This class holds a relation consisting of two expressions and a logical
  *  relation between them. */
 class relational : public basic
index 668cb6baaf184803e2146ac41090b3d247a47ccb..187a8472367f482f3ef372eaa32c1fdd318520de 100644 (file)
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include "ginac.h"
+#include "series.h"
+#include "add.h"
+#include "inifcns.h"
+#include "mul.h"
+#include "power.h"
+#include "relational.h"
+#include "symbol.h"
 
 
 /*
  *  Default constructor, destructor, copy constructor, assignment operator and helpers
  */
 
-series::series() : basic(TINFO_SERIES)
+series::series() : basic(TINFO_series)
 {
     debugmsg("series default constructor", LOGLEVEL_CONSTRUCT);
 }
@@ -84,7 +90,7 @@ void series::destroy(bool call_parent)
  *  @param ops_  vector of {coefficient, power} pairs (coefficient must not be zero)
  *  @return newly constructed series */
 series::series(ex const &var_, ex const &point_, epvector const &ops_)
-    : basic(TINFO_SERIES), seq(ops_), var(var_), point(point_)
+    : basic(TINFO_series), seq(ops_), var(var_), point(point_)
 {
     debugmsg("series constructor from ex,ex,epvector", LOGLEVEL_CONSTRUCT);
     ASSERT(is_ex_exactly_of_type(var_, symbol));
@@ -104,7 +110,7 @@ basic *series::duplicate() const
 // Highest degree of variable
 int series::degree(symbol const &s) const
 {
-    if (var == s) {
+    if (var.is_equal(s)) {
         // Return last exponent
         if (seq.size())
             return ex_to_numeric((*(seq.end() - 1)).coeff).to_int();
@@ -128,7 +134,7 @@ int series::degree(symbol const &s) const
 // Lowest degree of variable
 int series::ldegree(symbol const &s) const
 {
-    if (var == s) {
+    if (var.is_equal(s)) {
         // Return first exponent
         if (seq.size())
             return ex_to_numeric((*(seq.begin())).coeff).to_int();
@@ -152,7 +158,7 @@ int series::ldegree(symbol const &s) const
 // Coefficient of variable
 ex series::coeff(symbol const &s, int n) const
 {
-    if (var == s) {
+    if (var.is_equal(s)) {
         epvector::const_iterator it = seq.begin(), itend = seq.end();
         while (it != itend) {
             int pow = ex_to_numeric(it->coeff).to_int();
@@ -312,7 +318,7 @@ ex series::add_series(const series &other) const
                 break;  // Order term ends the sequence
             } else {
                 ex sum = (*a).rest + (*b).rest;
-                if (!(sum == exZERO()))
+                if (!(sum.is_zero()))
                     new_seq.push_back(expair(sum, numeric(pow_a)));
                 a++;
                 b++;
index e0fe511fbec3345a7cb704db40cfc0bfcf575290..8d7822dbf3de134ae7d675e25bc5735348120f24 100644 (file)
@@ -22,6 +22,9 @@
 #ifndef __GINAC_SERIES_H__
 #define __GINAC_SERIES_H__
 
+#include <ginac/basic.h>
+#include <ginac/expairseq.h>
+
 /** This class holds a extended truncated power series (positive and negative
  *  integer powers). It consists of expression coefficients (only non-zero
  *  coefficients are stored), an expansion variable and an expansion point.
index ac8aae06d25cb13abc0028416e0ea8420fc5c510..5e289aa60b47c10152fc5e44d11f686209aa3859 100644 (file)
 #include <stdexcept>
 #include <map>
 
-#include "ginac.h"
+#include "simp_lor.h"
+#include "ex.h"
+#include "mul.h"
+#include "symbol.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -38,7 +41,7 @@
 simp_lor::simp_lor() : type(invalid)
 {
     debugmsg("simp_lor default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_SIMP_LOR;
+    tinfo_key=TINFO_simp_lor;
 }
 
 simp_lor::~simp_lor()
@@ -88,14 +91,14 @@ void simp_lor::destroy(bool call_parent)
 simp_lor::simp_lor(simp_lor_types const t) : type(t)
 {
     debugmsg("simp_lor constructor from simp_lor_types",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_SIMP_LOR;
+    tinfo_key=TINFO_simp_lor;
 }
 
 simp_lor::simp_lor(simp_lor_types const t, ex const & i1, ex const & i2) :
     indexed(i1,i2), type(t)
 {
     debugmsg("simp_lor constructor from simp_lor_types,ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_SIMP_LOR;
+    tinfo_key=TINFO_simp_lor;
     ASSERT(all_of_type_lorentzidx());
 }
 
@@ -103,7 +106,7 @@ simp_lor::simp_lor(simp_lor_types const t, string const & n, ex const & i1) :
     indexed(i1), type(t), name(n)
 {
     debugmsg("simp_lor constructor from simp_lor_types,string,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_SIMP_LOR;
+    tinfo_key=TINFO_simp_lor;
     ASSERT(all_of_type_lorentzidx());
 }
 
@@ -111,7 +114,7 @@ simp_lor::simp_lor(simp_lor_types const t, string const & n, exvector const & iv
     indexed(iv), type(t), name(n)
 {
     debugmsg("simp_lor constructor from simp_lor_types,string,exvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_SIMP_LOR;
+    tinfo_key=TINFO_simp_lor;
     ASSERT(all_of_type_lorentzidx());
 }
 
@@ -119,7 +122,7 @@ simp_lor::simp_lor(simp_lor_types const t, string const & n, exvector * ivp) :
     indexed(ivp), type(t), name(n)
 {
     debugmsg("simp_lor constructor from simp_lor_types,string,exvector*",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_SIMP_LOR;
+    tinfo_key=TINFO_simp_lor;
     ASSERT(all_of_type_lorentzidx());
 }
 
@@ -232,7 +235,7 @@ ex simp_lor::eval(int level) const
 
 int simp_lor::compare_same_type(basic const & other) const
 {
-    ASSERT(other.tinfo() == TINFO_SIMP_LOR);
+    ASSERT(other.tinfo() == TINFO_simp_lor);
     const simp_lor *o = static_cast<const simp_lor *>(&other);
     if (type==o->type) {
         if (name==o->name) {
@@ -245,7 +248,7 @@ int simp_lor::compare_same_type(basic const & other) const
 
 bool simp_lor::is_equal_same_type(basic const & other) const
 {
-    ASSERT(other.tinfo() == TINFO_SIMP_LOR);
+    ASSERT(other.tinfo() == TINFO_simp_lor);
     const simp_lor *o = static_cast<const simp_lor *>(&other);
     if (type!=o->type) return false;
     if (name!=o->name) return false;
@@ -330,7 +333,7 @@ ex simplify_simp_lor_mul(ex const & m, scalar_products const & sp)
     v_contracted.reserve(2*n);
     for (int i=0; i<n; ++i) {
         ex f=m.op(i);
-        if (is_ex_exactly_of_type(f,power)&&f.op(1)==2) {
+        if (is_ex_exactly_of_type(f,power)&&f.op(1).is_equal(exTWO())) {
             v_contracted.push_back(f.op(0));
             v_contracted.push_back(f.op(0));
         } else {
index f765d38f4bdd37368e2f46e3b06065573dfef7fc..eefddac792d54cd20d6fb5a5e840305a1b756100 100644 (file)
@@ -27,6 +27,8 @@
 #include <utility>
 #include <map>
 #include <iostream>
+#include <ginac/indexed.h>
+#include <ginac/lorentzidx.h>
 
 typedef pair<string,string> strstrpair;
 typedef pair<strstrpair,lorentzidx> spmapkey;
index b155f946629988c48c92e79c170f62adc0431a1c..e7cb8303bb59fa8c67ce184e9d4f4d7097ab7eed 100644 (file)
@@ -21,7 +21,7 @@
 
 #include <string>
 
-#include "ginac.h"
+#include "structure.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -32,7 +32,7 @@
 structure::structure()
 {
     debugmsg("structure default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_STRUCTURE;
+    tinfo_key = TINFO_structure;
 }
 
 structure::~structure()
index ead2670fb1e67880f09f5f992140c23c32f9cb79..cbe44758c0e6910b0334b90c7c79dbacd8479d59 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef __GINAC_STRUCTURE_H__
 #define __GINAC_STRUCTURE_H__
 
+#include <ginac/basic.h>
+
 struct registered_structure_info {
     char const * name;
 };
index f9d64929323020aae7cafa3292b100b943457e49..839a105a383c515fa9f8ff7ded9dbb3c7e1317fd 100644 (file)
 #include <string>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "symbol.h"
+#include "lst.h"
 #include "utils.h"
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 //////////
 
-symbol::symbol() : basic(TINFO_SYMBOL)
+symbol::symbol() : basic(TINFO_symbol)
 {
     debugmsg("symbol default constructor",LOGLEVEL_CONSTRUCT);
     serial=next_serial++;
@@ -81,7 +82,7 @@ void symbol::destroy(bool call_parent)
 
 // public
 
-symbol::symbol(string const & initname) : basic(TINFO_SYMBOL)
+symbol::symbol(string const & initname) : basic(TINFO_symbol)
 {
     debugmsg("symbol constructor from string",LOGLEVEL_CONSTRUCT);
     name=initname;
index 8b8e9a76cff9ac457f63cd25fbdadb64ea74edaa..5bd60159dd9553fab62a027f8d221dbb23056c72 100644 (file)
@@ -23,6 +23,8 @@
 #define __GINAC_SYMBOL_H__
 
 #include <string>
+#include <ginac/basic.h>
+#include <ginac/ex.h>
 
 /** Basic CAS symbol.  It has a name because it must know how to output itself.
  *  It may be assigned an expression, but this feature is only intended for
index 1d0f1dc3b242fc036f1129c2c5e967682efd061f..24aeef0547feaa7897eaf7501d1b5bc14891439a 100644 (file)
 #ifndef __GINAC_TINFOS_H__
 #define __GINAC_TINFOS_H__
 
-#define TINFO_BASIC        0x00000001U
+#define TINFO_basic        0x00000001U
 
-#define TINFO_EXPAIRSEQ    0x00010001U
-#define TINFO_ADD          0x00011001U
-#define TINFO_MUL          0x00011002U
+#define TINFO_expairseq    0x00010001U
+#define TINFO_add          0x00011001U
+#define TINFO_mul          0x00011002U
 
-#define TINFO_SYMBOL       0x00020001U
-#define TINFO_CONSTANT     0x00021001U
+#define TINFO_symbol       0x00020001U
+#define TINFO_constant     0x00021001U
 
-#define TINFO_EXPRSEQ      0x00030001U
-#define TINFO_FUNCTION     0x00031001U
-#define TINFO_NCMUL        0x00031002U
-// #define TINFO_NFUNCTION     0x00031003U
+#define TINFO_exprseq      0x00030001U
+#define TINFO_function     0x00031001U
+#define TINFO_ncmul        0x00031002U
 
-#define TINFO_LST          0x00040001U
+#define TINFO_lst          0x00040001U
 
-#define TINFO_MATRIX       0x00050001U
+#define TINFO_matrix       0x00050001U
 
-#define TINFO_POWER        0x00060001U
+#define TINFO_power        0x00060001U
 
-#define TINFO_RELATIONAL   0x00070001U
+#define TINFO_relational   0x00070001U
 
-#define TINFO_FAIL         0x00080001U
+#define TINFO_fail         0x00080001U
 
-#define TINFO_NUMERIC      0x00090001U
+#define TINFO_numeric      0x00090001U
 
-#define TINFO_SERIES       0x000a0001U
+#define TINFO_series       0x000a0001U
 
-#define TINFO_INDEXED      0x000b0001U
-#define TINFO_ALGEBRA      0x000b1001U
-#define TINFO_CLIFFORD     0x000b1101U
-#define TINFO_COLOR        0x000b1201U
-#define TINFO_ISOSPIN      0x000b1301U
-#define TINFO_SIMP_LOR     0x000b1401U
+#define TINFO_indexed      0x000b0001U
+#define TINFO_algebra      0x000b1001U
+#define TINFO_clifford     0x000b1101U
+#define TINFO_color        0x000b1201U
+#define TINFO_isospin      0x000b1301U
+#define TINFO_simp_lor     0x000b1401U
 
-#define TINFO_STRUCTURE    0x000c0001U
+#define TINFO_structure    0x000c0001U
 // reserved up to          0x000cffffU
 // for user defined structures
 
-#define TINFO_IDX          0x000d0001U
-#define TINFO_COLORIDX     0x000d1001U
-#define TINFO_LORENTZIDX   0x000d1002U
+#define TINFO_idx          0x000d0001U
+#define TINFO_coloridx     0x000d1001U
+#define TINFO_lorentzidx   0x000d1002U
 
 #endif // ndef __GINAC_TINFOS_H__
index 69d4f46110dc43e5a50f717d82bb1d834334c20d..15f4cc57bc47923e93e32536c182aa57ae41f255 100644 (file)
@@ -19,6 +19,8 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "utils.h"
+
 unsigned log2(unsigned n)
 {
     unsigned k;