]> www.ginac.de Git - ginac.git/blobdiff - ginac/flags.h
* Finilize version 1.0.4 (version numbers, copyrights and such rubbish).
[ginac.git] / ginac / flags.h
index 1b11dceb635ad41ca37b766b1405630acbc1bb44..60c10fed2034862ade164e5cee32be8a9b4d11e9 100644 (file)
@@ -3,7 +3,7 @@
  *  Collection of all flags used through the GiNaC framework. */
 
 /*
- *  GiNaC Copyright (C) 1999-2001 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2002 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 {
@@ -41,34 +42,38 @@ public:
        };
 };
 
+/** 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(0) has already done its job (other expand() options ignore this flag)
+               hash_calculated = 0x0008        ///< .calchash() has already done its job
        };
 };
 
@@ -125,13 +130,7 @@ public:
                has_indices,  // object has at least one index
 
                // answered by class idx
-               idx,
-
-               // answered by class coloridx
-               coloridx,
-
-               // answered by class lorentzidx
-               lorentzidx
+               idx
        };
 };
 
@@ -144,27 +143,18 @@ public:
        };
 };
 
-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__