X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fconstant.cpp;h=dd1c170b6c21ba425da8cbc2a82590ad525c1dd2;hp=cff955a9488bcb5b09298b4dc513a656a6dc1a3e;hb=f79727f9acf4f78ff71cbe324c333c234c211cb5;hpb=aa378587448168767c40dcfc4c819d2893fc24a5;ds=sidebyside diff --git a/ginac/constant.cpp b/ginac/constant.cpp index cff955a9..dd1c170b 100644 --- a/ginac/constant.cpp +++ b/ginac/constant.cpp @@ -142,7 +142,9 @@ bool constant::info(unsigned inf) const if (inf == info_flags::polynomial) return true; if (inf == info_flags::real) - return domain == domain::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); } @@ -164,21 +166,21 @@ bool constant::is_polynomial(const ex & var) const ex constant::conjugate() const { - if ( domain == domain::real ) + if ( domain==domain::real || domain==domain::positive ) return *this; return conjugate_function(*this).hold(); } ex constant::real_part() const { - if ( domain == domain::real ) + if ( domain==domain::real || domain==domain::positive ) return *this; return real_part_function(*this).hold(); } ex constant::imag_part() const { - if ( domain == domain::real ) + if ( domain==domain::real || domain==domain::positive ) return 0; return imag_part_function(*this).hold(); } @@ -244,13 +246,13 @@ unsigned constant::next_serial = 0; ////////// /** Pi. (3.14159...) Diverts straight into CLN for evalf(). */ -const constant Pi("Pi", PiEvalf, "\\pi", domain::real); +const constant Pi("Pi", PiEvalf, "\\pi", domain::positive); /** Euler's constant. (0.57721...) Sometimes called Euler-Mascheroni constant. * Diverts straight into CLN for evalf(). */ -const constant Euler("Euler", EulerEvalf, "\\gamma_E", domain::real); +const constant Euler("Euler", EulerEvalf, "\\gamma_E", domain::positive); /** Catalan's constant. (0.91597...) Diverts straight into CLN for evalf(). */ -const constant Catalan("Catalan", CatalanEvalf, "G", domain::real); +const constant Catalan("Catalan", CatalanEvalf, "G", domain::positive); } // namespace GiNaC