From: Vladimir Kisil Date: Wed, 22 Apr 2015 21:06:56 +0000 (+0200) Subject: Fix pow::info(info_flags::nonnegative). X-Git-Tag: ginac_1-6-4~4 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=0f7f5c00470b6f1d10b668e3a7b34438ed005d0f Fix pow::info(info_flags::nonnegative). This function call was missing the case where a positive base is raised to a real power (where pow::info(info_flags::positive) correctly returned true). --- diff --git a/ginac/power.cpp b/ginac/power.cpp index 82200d7a..2dd64486 100644 --- a/ginac/power.cpp +++ b/ginac/power.cpp @@ -243,7 +243,8 @@ bool power::info(unsigned inf) const case info_flags::positive: return basis.info(info_flags::positive) && exponent.info(info_flags::real); case info_flags::nonnegative: - return basis.info(info_flags::real) && exponent.info(info_flags::integer) && exponent.info(info_flags::even); + return (basis.info(info_flags::positive) && exponent.info(info_flags::real)) || + (basis.info(info_flags::real) && exponent.info(info_flags::integer) && exponent.info(info_flags::even)); case info_flags::has_indices: { if (flags & status_flags::has_indices) return true;