]> www.ginac.de Git - ginac.git/blobdiff - ginac/indexed.cpp
lortensor class
[ginac.git] / ginac / indexed.cpp
index ffcf5141734b25af6d402908562a16c1fbfa91df..7dd2f0dae6f07c55392812634216974d0b05efa5 100644 (file)
@@ -1,7 +1,8 @@
 /** @file indexed.cpp
  *
 /** @file indexed.cpp
  *
- *  Implementation of GiNaC's index carrying objects.
- *
+ *  Implementation of GiNaC's index carrying objects. */
+
+/*
  *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
 
 #include <string>
 
 
 #include <string>
 
-#include "ginac.h"
+#include "indexed.h"
+#include "ex.h"
+#include "idx.h"
+#include "debugmsg.h"
+
+#ifndef NO_GINAC_NAMESPACE
+namespace GiNaC {
+#endif // ndef NO_GINAC_NAMESPACE
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -32,7 +40,7 @@
 indexed::indexed()
 {
     debugmsg("indexed default constructor",LOGLEVEL_CONSTRUCT);
 indexed::indexed()
 {
     debugmsg("indexed default constructor",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
+    tinfo_key=TINFO_indexed;
 }
 
 indexed::~indexed()
 }
 
 indexed::~indexed()
@@ -80,37 +88,45 @@ void indexed::destroy(bool call_parent)
 indexed::indexed(ex const & i1) : exprseq(i1)
 {
     debugmsg("indexed constructor from ex",LOGLEVEL_CONSTRUCT);
 indexed::indexed(ex const & i1) : exprseq(i1)
 {
     debugmsg("indexed constructor from ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
-    ASSERT(all_of_type_idx());
+    tinfo_key=TINFO_indexed;
+    GINAC_ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(ex const & i1, ex const & i2) : exprseq(i1,i2)
 {
     debugmsg("indexed constructor from ex,ex",LOGLEVEL_CONSTRUCT);
 }
 
 indexed::indexed(ex const & i1, ex const & i2) : exprseq(i1,i2)
 {
     debugmsg("indexed constructor from ex,ex",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
-    ASSERT(all_of_type_idx());
+    tinfo_key=TINFO_indexed;
+    GINAC_ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(ex const & i1, ex const & i2, ex const & i3)
     : exprseq(i1,i2,i3)
 {
     debugmsg("indexed constructor from ex,ex,ex",LOGLEVEL_CONSTRUCT);
 }
 
 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;
-    ASSERT(all_of_type_idx());
+    tinfo_key=TINFO_indexed;
+    GINAC_ASSERT(all_of_type_idx());
+}
+
+indexed::indexed(ex const & i1, ex const & i2, ex const & i3, ex const & i4)
+    : exprseq(i1,i2,i3,i4)
+{
+    debugmsg("indexed constructor from ex,ex,ex,ex",LOGLEVEL_CONSTRUCT);
+    tinfo_key=TINFO_indexed;
+    GINAC_ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(exvector const & iv) : exprseq(iv)
 {
     debugmsg("indexed constructor from exvector",LOGLEVEL_CONSTRUCT);
 }
 
 indexed::indexed(exvector const & iv) : exprseq(iv)
 {
     debugmsg("indexed constructor from exvector",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
-    ASSERT(all_of_type_idx());
+    tinfo_key=TINFO_indexed;
+    GINAC_ASSERT(all_of_type_idx());
 }
 
 indexed::indexed(exvector * ivp) : exprseq(ivp)
 {
     debugmsg("indexed constructor from exvector *",LOGLEVEL_CONSTRUCT);
 }
 
 indexed::indexed(exvector * ivp) : exprseq(ivp)
 {
     debugmsg("indexed constructor from exvector *",LOGLEVEL_CONSTRUCT);
-    tinfo_key=TINFO_INDEXED;
-    ASSERT(all_of_type_idx());
+    tinfo_key=TINFO_indexed;
+    GINAC_ASSERT(all_of_type_idx());
 }
 
 //////////
 }
 
 //////////
@@ -182,13 +198,13 @@ exvector indexed::get_indices(void) const
 
 int indexed::compare_same_type(basic const & other) const
 {
 
 int indexed::compare_same_type(basic const & other) const
 {
-    ASSERT(is_of_type(other,indexed));
+    GINAC_ASSERT(is_of_type(other,indexed));
     return exprseq::compare_same_type(other);
 }
 
 bool indexed::is_equal_same_type(basic const & other) const
 {
     return exprseq::compare_same_type(other);
 }
 
 bool indexed::is_equal_same_type(basic const & other) const
 {
-    ASSERT(is_of_type(other,indexed));
+    GINAC_ASSERT(is_of_type(other,indexed));
     return exprseq::is_equal_same_type(other);
 }
 
     return exprseq::is_equal_same_type(other);
 }
 
@@ -286,3 +302,6 @@ bool indexed::all_of_type_idx(void) const
 const indexed some_indexed;
 type_info const & typeid_indexed=typeid(some_indexed);
 
 const indexed some_indexed;
 type_info const & typeid_indexed=typeid(some_indexed);
 
+#ifndef NO_GINAC_NAMESPACE
+} // namespace GiNaC
+#endif // ndef NO_GINAC_NAMESPACE