diff --git a/poincare/src/approximation_helper.cpp b/poincare/src/approximation_helper.cpp index 9c498f4ce..61c5f8d20 100644 --- a/poincare/src/approximation_helper.cpp +++ b/poincare/src/approximation_helper.cpp @@ -19,9 +19,10 @@ template < typename T> T minimalNonNullMagnitudeOfParts(std::complex c) { T absRealInput = std::fabs(c.real()); T absImagInput = std::fabs(c.imag()); // If the magnitude of one part is null, ignore it - absRealInput = absRealInput > 0.0 ? absRealInput : absImagInput; - absImagInput = absImagInput > 0.0 ? absImagInput : absRealInput; - return absRealInput > absImagInput ? absImagInput : absRealInput; + if (absRealInput == 0.0 || (absImagInput > 0.0 && absImagInput < absRealInput)) { + return absImagInput; + } + return absRealInput; } static inline int absInt(int x) { return x < 0 ? -x : x; }