X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fflags.h;h=616cc56f0a13af5facecbba9f019e13d7029fee5;hb=4ef4fe159e18c9ef8aa2702875caf56c9e22f0c2;hp=c14e58408aa64ba765de1b0d26be9d3d8cd8fd4d;hpb=5ef801553eb39aed7bd2df9dd1aff9d752c3ea9d;p=ginac.git diff --git a/ginac/flags.h b/ginac/flags.h index c14e5840..616cc56f 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-2003 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2004 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 @@ -38,15 +38,26 @@ public: class subs_options { public: enum { - // this should be called "no_pattern"... - subs_no_pattern = 0x0001, ///< disable pattern matching - // this should be called "algebraic"... - subs_algebraic = 0x0002, ///< enable algebraic substitutions + no_pattern = 0x0001, ///< disable pattern matching + subs_no_pattern = 0x0001, // for backwards compatibility + algebraic = 0x0002, ///< enable algebraic substitutions + subs_algebraic = 0x0002, // for backwards compatibility pattern_is_product = 0x0004, ///< used internally by expairseq::subschildren() pattern_is_not_product = 0x0008 ///< used internally by expairseq::subschildren() }; }; +/** Flags to decide how conjugate should treat a symbol */ +class symbol_options { +public: + enum { + /** Symbol is treated like a complex valued expression */ + complex, + /** Symbol is treated like a real valued expression */ + real + }; +}; + /** Flags to control series expansion. */ class series_options { public: @@ -169,7 +180,8 @@ public: 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 + 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()) }; };