Browse Source

Normal Distribution: fix Variance property setter

The variance setter was passing the variance as standard distribution,
instead of its square root. Reported by Peter126 at Codeplex.
la-knuth
Christoph Ruegg 15 years ago
parent
commit
d15f592f3e
  1. 2
      src/Numerics/Distributions/Continuous/Normal.cs
  2. 8
      src/UnitTests/DistributionTests/Continuous/NormalTests.cs

2
src/Numerics/Distributions/Continuous/Normal.cs

@ -230,7 +230,7 @@ namespace MathNet.Numerics.Distributions
set
{
SetParameters(_mean, value);
SetParameters(_mean, Math.Sqrt(value));
}
}

8
src/UnitTests/DistributionTests/Continuous/NormalTests.cs

@ -193,10 +193,12 @@ namespace MathNet.Numerics.UnitTests.DistributionTests.Continuous
[TestCase(Double.PositiveInfinity)]
public void CanSetVariance(double var)
{
new Normal
var dist = new Normal
{
Variance = var
};
Assert.AreEqual(var, dist.Variance, 1e-14);
}
/// <summary>
@ -221,10 +223,12 @@ namespace MathNet.Numerics.UnitTests.DistributionTests.Continuous
[TestCase(Double.PositiveInfinity)]
public void CanSetStdDev(double sdev)
{
new Normal
var dist = new Normal
{
StdDev = sdev
};
Assert.AreEqual(sdev, dist.StdDev, 1e-14);
}
/// <summary>

Loading…
Cancel
Save