#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
+ expand_trigonometric = 0x0001,
+ expand_indexed = 0x0002
};
};
+/** Flags to control series expansion. */
class series_options {
public:
enum {
};
};
+/** Switch to control algorithm for determinant computation. */
class determinant_algo {
public:
enum {
- automatic,
- gauss,
- divfree,
- laplace,
- bareiss
+ automatic, ///< Let the system choose
+ gauss, ///< Gauss elimiation
+ divfree, ///< Division-free elimination
+ laplace, ///< Laplace (or minor) elimination
+ bareiss ///< Bareiss fraction-free elimination
};
};
+/** Switch to control algorithm for linear system solving. */
class solve_algo {
public:
enum {
- automatic,
- gauss,
- divfree,
- bareiss
+ automatic, ///< Let the system choose
+ gauss, ///< Gauss elimiation
+ divfree, ///< Division-free elimination
+ bareiss ///< Bareiss fraction-free elimination
};
};
+/** Flags to store information about the state of an object.
+ * @see basic::flags */
class status_flags {
public:
enum {
- dynallocated = 0x0001,
- evaluated = 0x0002,
- expanded = 0x0004,
- hash_calculated = 0x0008
+ dynallocated = 0x0001, ///< Heap-allocated (i.e. created by new if we want to be clever and bypass the stack)
+ evaluated = 0x0002, ///< .eval() has already done its job
+ expanded = 0x0004, ///< .expand() has already done its job
+ hash_calculated = 0x0008 ///< .calchash() has already done its job
};
};
has_indices, // object has at least one index
// answered by class idx
- idx,
-
- // answered by class coloridx
- coloridx,
-
- // answered by class lorentzidx
- lorentzidx
+ idx
};
};
};
};
+/** Strategies how to clean up the function remember cache.
+ * @see remember_table */
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
+ delete_never, ///< Let table grow undefinitely
+ 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__