From aa45adb49aa43370d501b6022de6c34fc996a207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Mon, 9 Sep 2019 10:55:18 +0200 Subject: [PATCH] [apps/proba] Handle infinite xMax in exponential distribution --- apps/probability/distribution/exponential_distribution.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/probability/distribution/exponential_distribution.cpp b/apps/probability/distribution/exponential_distribution.cpp index 5c66f6da3..311c2e197 100644 --- a/apps/probability/distribution/exponential_distribution.cpp +++ b/apps/probability/distribution/exponential_distribution.cpp @@ -11,9 +11,13 @@ float ExponentialDistribution::xMin() const { float ExponentialDistribution::xMax() const { assert(m_parameter1 != 0.0f); float result = 5.0f/m_parameter1; - if (result <= 0.0f) { + if (result <= FLT_EPSILON) { result = 1.0f; } + if (std::isinf(result)) { + // Lower xMax. It is used for drawing so the value is not that important. + return 1.0f/m_parameter1; + } return result * (1.0f + k_displayRightMarginRatio); }