diff --git a/poincare/src/binomial_coefficient.cpp b/poincare/src/binomial_coefficient.cpp index b1d947a48..dfabebd51 100644 --- a/poincare/src/binomial_coefficient.cpp +++ b/poincare/src/binomial_coefficient.cpp @@ -100,7 +100,7 @@ Expression * BinomialCoefficient::templatedApproximate(Context& context, AngleUn T result = 1; for (int i = 0; i < k; i++) { result *= (n-(T)i)/(k-(T)i); - if (std::isinf(result)) { + if (std::isinf(result) || std::isnan(result)) { return new Complex(Complex::Float(result)); } } diff --git a/poincare/src/permute_coefficient.cpp b/poincare/src/permute_coefficient.cpp index 4ecc692ef..fd4536e97 100644 --- a/poincare/src/permute_coefficient.cpp +++ b/poincare/src/permute_coefficient.cpp @@ -87,7 +87,7 @@ Complex * PermuteCoefficient::templatedApproximate(Context& context, AngleUni T result = 1; for (int i = (int)n-(int)k+1; i <= (int)n; i++) { result *= i; - if (std::isinf(result)) { + if (std::isinf(result) || std::isnan(result)) { return new Complex(Complex::Float(result)); } }