X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fflags.h;h=0ea0fd9fd2f5dbd4082dbb93320a6ab1e34a2001;hp=a416958d1511a7133b09ece92a8adeebfd2b1ba7;hb=9d92d4b442fc4c1a95685884be4ba0494cd02bbe;hpb=619d77d2676f7f1a562fb9fefc0ba6754fe2d750 diff --git a/ginac/flags.h b/ginac/flags.h index a416958d..0ea0fd9f 100644 --- a/ginac/flags.h +++ b/ginac/flags.h @@ -3,7 +3,7 @@ * Collection of all flags used through the GiNaC framework. */ /* - * GiNaC Copyright (C) 1999-2007 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2008 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 @@ -30,7 +30,8 @@ class expand_options { public: enum { expand_indexed = 0x0001, ///< expands (a+b).i to a.i+b.i - expand_function_args = 0x0002 ///< expands the arguments of functions + expand_function_args = 0x0002, ///< expands the arguments of functions + expand_rename_idx = 0x0004 ///< used internally by mul::expand() }; }; @@ -38,7 +39,7 @@ public: class has_options { public: enum { - algebraic = 0x0001, ///< enable algebraic matching + algebraic = 0x0001 ///< enable algebraic matching }; }; @@ -193,7 +194,9 @@ public: 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 - not_shareable = 0x0010 ///< don't share instances of this object between different expressions unless explicitly asked to (used by ex::compare()) + not_shareable = 0x0010, ///< don't share instances of this object between different expressions unless explicitly asked to (used by ex::compare()) + has_indices = 0x0020, + has_no_indices = 0x0040 // ! (has_indices || has_no_indices) means "don't know" }; }; @@ -250,7 +253,10 @@ public: has_indices, // object has at least one index // answered by class idx - idx + idx, + + // answered by classes numeric, symbol, add, mul, power + expanded }; }; @@ -275,6 +281,14 @@ public: }; }; +/** Flags to control the polynomial factorization. */ +class factor_options { +public: + enum { + all = 0x0001 ///< factor all polynomial subexpressions + }; +}; + } // namespace GiNaC #endif // ndef __GINAC_FLAGS_H__