Browse Source

Distributions: fix geometric sampling #31

la-knuth
Christoph Ruegg 14 years ago
parent
commit
3ab191f97c
  1. 2
      src/Numerics/Distributions/Discrete/Geometric.cs

2
src/Numerics/Distributions/Discrete/Geometric.cs

@ -324,7 +324,7 @@ namespace MathNet.Numerics.Distributions
/// </returns>
private static int DoSample(Random rnd, double p)
{
return (int)Math.Ceiling(-Math.Log(rnd.NextDouble()) / p);
return p == 1.0 ? 1 : (int)Math.Ceiling(-Math.Log(1.0 - rnd.NextDouble(), 1.0 - p));
}
}
}

Loading…
Cancel
Save