From 0f7f5c00470b6f1d10b668e3a7b34438ed005d0f Mon Sep 17 00:00:00 2001 From: Vladimir Kisil Date: Wed, 22 Apr 2015 23:06:56 +0200 Subject: [PATCH] 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). --- ginac/power.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; -- 2.49.0