- rotate_31() and golden_hash_ratio() moved to utils.h
[ginac.git] / ginac / add.cpp
index 42e65bb904ea7171fe42007dfc61d0471dbca5eb..0f25d2dc7a444a29fa11d513dad89ea6e896cc14 100644 (file)
@@ -1,7 +1,8 @@
 /** @file add.cpp
  *
- *  Implementation of GiNaC's sums of expressions.
- *
+ *  Implementation of GiNaC's sums of expressions. */
+
+/*
  *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
 #include <iostream>
 #include <stdexcept>
 
-#include "ginac.h"
+#include "add.h"
+#include "mul.h"
+#include "debugmsg.h"
+
+namespace GiNaC {
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -33,7 +38,7 @@
 add::add()
 {
     debugmsg("add default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key = TINFO_ADD;
+    tinfo_key = TINFO_add;
 }
 
 add::~add()
@@ -79,7 +84,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 +93,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 +103,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 +119,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 +128,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 +137,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);
@@ -418,9 +423,9 @@ ex add::eval(int level) const
 
 exvector add::get_indices(void) const
 {
-    // all terms in the sum should have the same indices (compatible tensors)
-    // however this is not checked, since there is no function yet which
-    // compares indices (idxvector can be unsorted) !!!!!!!!!!!
+    // FIXME: all terms in the sum should have the same indices (compatible
+    // tensors) however this is not checked, since there is no function yet
+    // which compares indices (idxvector can be unsorted)
     if (seq.size()==0) {
         return exvector();
     }
@@ -648,5 +653,4 @@ unsigned add::precedence=40;
 const add some_add;
 type_info const & typeid_add=typeid(some_add);
 
-
-
+} // namespace GiNaC