]> www.ginac.de Git - ginac.git/blobdiff - ginac/flags.h
- Made determinant_algo (in flags.h) really work.
[ginac.git] / ginac / flags.h
index 5f32ffe7036cdcafe376033cdaf7fdc9f761ed2c..41a890b11c34aa14c86cf13535d69bea5b824b7a 100644 (file)
@@ -23,9 +23,9 @@
 #ifndef __GINAC_FLAGS_H__
 #define __GINAC_FLAGS_H__
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class expand_options {
 public:
@@ -33,6 +33,21 @@ public:
          };
 };
 
+class series_options {
+public:
+    enum { suppress_branchcut        = 0x0001
+         };
+};
+
+class determinant_algo {
+public:
+    enum { automatic,
+           gauss,
+           laplace,
+           bareiss
+         };
+};
+
 class status_flags {
 public:
     enum { dynallocated              = 0x0001,
@@ -42,9 +57,10 @@ public:
          };
 };
 
+/** Possible attributes an object can have. */
 class info_flags {
 public:
-    enum { 
+    enum {
            // answered by class numeric
            numeric,
            real,
@@ -61,7 +77,7 @@ public:
            even,
            odd,
            prime,
-
+           
            // answered by class relation
            relation,
            relation_equal,
@@ -70,16 +86,16 @@ public:
            relation_less_or_equal,
            relation_greater,
            relation_greater_or_equal,
-
+           
            // answered by class symbol
            symbol,
-
+           
            // answered by class lst
            list,
-
+           
            // answered by class exprseq
            exprseq,
-
+           
            // answered by classes numeric, symbol, add, mul, power
            polynomial,
            integer_polynomial,
@@ -87,20 +103,18 @@ public:
            rational_polynomial,
            crational_polynomial,
            rational_function,
-
-           // answered by class ex
-           normal_form,
+           algebraic,
            
            // answered by class indexed
            indexed,      // class can carry indices
            has_indices,  // object has at least one index
-
+           
            // answered by class idx
            idx,
-
+           
            // answered by class coloridx
            coloridx,
-
+           
            // answered by class lorentzidx
            lorentzidx
     };
@@ -120,8 +134,17 @@ public:
        };
 };
 
-#ifndef NO_GINAC_NAMESPACE
+class remember_strategies {
+public:
+    enum { delete_never, // let table grow undefinitely, not recommmended, but currently default
+           delete_lru,   // least recently used
+           delete_lfu,   // least frequently used
+           delete_cyclic // first (oldest) one in list
+    };
+};
+
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_FLAGS_H__