]> www.ginac.de Git - ginac.git/blobdiff - ginac/flags.h
Introduce expand_options::expand_transcendental.
[ginac.git] / ginac / flags.h
index 8f8f25dff572a45bdc4a0b75df2755d11f8e4ba5..6da71b0432e48ea0af5710a0300c222902602f86 100644 (file)
@@ -31,7 +31,8 @@ public:
        enum {
                expand_indexed = 0x0001,      ///< expands (a+b).i to a.i+b.i
                expand_function_args = 0x0002, ///< expands the arguments of functions
-               expand_rename_idx = 0x0004 ///< used internally by mul::expand()
+               expand_rename_idx = 0x0004, ///< used internally by mul::expand()
+               expand_transcendental = 0x0008 ///< expands trancendental functions like log and exp
        };
 };
 
@@ -196,7 +197,10 @@ public:
                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())
                has_indices     = 0x0020,
-               has_no_indices  = 0x0040  // ! (has_indices || has_no_indices) means "don't know"
+               has_no_indices  = 0x0040, // ! (has_indices || has_no_indices) means "don't know"
+               is_positive     = 0x0080,
+               is_negative     = 0x0100,
+               purely_indefinite = 0x0200  // If set in a mul, then it does not contains any terms with determined signs, used in power::expand()
        };
 };
 
@@ -204,7 +208,7 @@ public:
 class info_flags {
 public:
        enum {
-               // answered by class numeric, add, mul and symbols/constants in particular domains
+               // answered by class numeric, add, mul, function and symbols/constants in particular domains
                numeric,
                real,
                rational,
@@ -256,7 +260,10 @@ public:
                idx,
 
                // answered by classes numeric, symbol, add, mul, power
-               expanded
+               expanded,
+
+               // is meaningful for mul only
+               indefinite
        };
 };