]> www.ginac.de Git - ginac.git/blobdiff - ginac/flags.h
container.pl: can now generate constructors for an arbitary number
[ginac.git] / ginac / flags.h
index 90f4e38d992960961613eba7d8d52f3ffd063552..16228a2d32a604662dacd94ea8f99329fcaaa22e 100644 (file)
@@ -3,7 +3,7 @@
  *  Collection of all flags used through the GiNaC framework. */
 
 /*
- *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -23,7 +23,9 @@
 #ifndef __GINAC_FLAGS_H__
 #define __GINAC_FLAGS_H__
 
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
+#endif // ndef NO_NAMESPACE_GINAC
 
 class expand_options {
 public:
@@ -40,6 +42,7 @@ public:
          };
 };
 
+/** Possible attributes an object can have. */
 class info_flags {
 public:
     enum { 
@@ -48,6 +51,8 @@ public:
            real,
            rational,
            integer,
+           crational,
+           cinteger,
            positive,
            negative,
            nonnegative,
@@ -79,12 +84,11 @@ public:
            // answered by classes numeric, symbol, add, mul, power
            polynomial,
            integer_polynomial,
+           cinteger_polynomial,
            rational_polynomial,
+           crational_polynomial,
            rational_function,
 
-           // answered by class ex
-           normal_form,
-           
            // answered by class indexed
            indexed,      // class can carry indices
            has_indices,  // object has at least one index
@@ -114,6 +118,17 @@ public:
        };
 };
 
+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 one in list (oldest)
+    };
+};
+
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_FLAGS_H__