* 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
#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:
};
};
+/** Possible attributes an object can have. */
class info_flags {
public:
enum {
real,
rational,
integer,
+ crational,
+ cinteger,
positive,
negative,
nonnegative,
// 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
};
};
-#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 one in list (oldest)
+ };
+};
+
+#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
#endif // ndef __GINAC_FLAGS_H__