From e93f35b8f04bba5be2d1d8904a5bfd7649751f4b Mon Sep 17 00:00:00 2001 From: David Prince Date: Mon, 24 Mar 2014 23:45:34 +0800 Subject: [PATCH] Fixed unit test failure: Triangular should not accept infinite parameters. I noticed that none of the other distribution classes check for infinite values, but perhaps they should. See #201. Note that +Infinity is a valid input parameter for the Beta distribution (see BetaTests.cs). --- src/Numerics/Distributions/Triangular.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Numerics/Distributions/Triangular.cs b/src/Numerics/Distributions/Triangular.cs index 3a27b3ab..6e730693 100644 --- a/src/Numerics/Distributions/Triangular.cs +++ b/src/Numerics/Distributions/Triangular.cs @@ -96,7 +96,9 @@ namespace MathNet.Numerics.Distributions /// When the parameters are out of range. void SetParameters(double lower, double upper, double mode) { - if (upper < mode || mode < lower || Double.IsNaN(upper) || Double.IsNaN(lower) || Double.IsNaN(mode)) + if (upper < mode || mode < lower || Double.IsNaN(upper) || Double.IsNaN(lower) || Double.IsNaN(mode) + || Double.IsInfinity(upper) || Double.IsInfinity(lower) || Double.IsInfinity(mode) + ) { throw new ArgumentException(Resources.InvalidDistributionParameters); }