* Collection of all flags used through the GiNaC framework. */
/*
- * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2001 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
+ expand_trigonometric = 0x0001,
+ expand_indexed = 0x0002,
+ expand_function_args = 0x0004
};
};
+/** 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, @see ex::construct_from_basic() )
+ 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
};
};
};
};
-class csrc_types {
-public:
- enum {
- ctype_float,
- ctype_double,
- ctype_cl_N
- };
-};
-
+/** 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__