X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fsymbol.cpp;h=b68fed87fe5f7a8d36485859485d863f843fe2c7;hp=a84ae4a42623bf915af1ad037abd99b1335c3803;hb=3a56e58f6a3e2dac83f12c254d0d7549bb886af4;hpb=619d77d2676f7f1a562fb9fefc0ba6754fe2d750 diff --git a/ginac/symbol.cpp b/ginac/symbol.cpp index a84ae4a4..b68fed87 100644 --- a/ginac/symbol.cpp +++ b/ginac/symbol.cpp @@ -207,21 +207,25 @@ void symbol::do_print_python_repr(const print_python_repr & c, unsigned level) c bool symbol::info(unsigned inf) const { - if (inf == info_flags::symbol) - return true; - if (inf == info_flags::polynomial || - inf == info_flags::integer_polynomial || - inf == info_flags::cinteger_polynomial || - inf == info_flags::rational_polynomial || - inf == info_flags::crational_polynomial || - inf == info_flags::rational_function) - return true; - if (inf == info_flags::real) - return domain==domain::real || domain==domain::positive; - if (inf == info_flags::positive || inf == info_flags::nonnegative) - return domain == domain::positive; - else - return inherited::info(inf); + switch (inf) { + case info_flags::symbol: + case info_flags::polynomial: + case info_flags::integer_polynomial: + case info_flags::cinteger_polynomial: + case info_flags::rational_polynomial: + case info_flags::crational_polynomial: + case info_flags::rational_function: + case info_flags::expanded: + return true; + case info_flags::real: + return domain == domain::real || domain == domain::positive; + case info_flags::positive: + case info_flags::nonnegative: + return domain == domain::positive; + case info_flags::has_indices: + return false; + } + return inherited::info(inf); } ex symbol::eval(int level) const