* 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_NAMESPACE_GINAC
+namespace GiNaC {
+#endif // ndef NO_NAMESPACE_GINAC
+
class expand_options {
public:
enum { expand_trigonometric = 0x0001
};
};
+class series_options {
+public:
+ enum { suppress_branchcut = 0x0001
+ };
+};
+
+class determinant_algo {
+public:
+ enum { automatic,
+ gauss,
+ laplace,
+ bareiss
+ };
+};
+
class status_flags {
public:
enum { dynallocated = 0x0001,
};
};
+/** Possible attributes an object can have. */
class info_flags {
public:
- enum {
+ enum {
// answered by class numeric
numeric,
real,
rational,
integer,
+ crational,
+ cinteger,
positive,
negative,
nonnegative,
even,
odd,
prime,
-
+
// answered by class relation
relation,
relation_equal,
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,
+ cinteger_polynomial,
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
};
};
};
+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_NAMESPACE_GINAC
+
#endif // ndef __GINAC_FLAGS_H__