diff --git a/poincare/src/power.cpp b/poincare/src/power.cpp index e3a397372..6b3c37a4b 100644 --- a/poincare/src/power.cpp +++ b/poincare/src/power.cpp @@ -100,7 +100,7 @@ bool PowerNode::isReal(Context & context) const { template Complex PowerNode::compute(const std::complex c, const std::complex d) { std::complex result; - if (c.imag() == 0.0 && d.imag() == 0.0 && (c.real() > 0.0 || std::round(d.real()) == d.real())) { + if (c.imag() == 0.0 && d.imag() == 0.0 && c.real() != 0.0 && (c.real() > 0.0 || std::round(d.real()) == d.real())) { /* pow: (R+, R) -> R+ (2^1.3 ~ 2.46) * pow: (R-, N) -> R+ ((-2)^3 = -8) * In these cases we rather use std::pow(double, double) because: