Fully managed library providing various random number generators and distributions.
More precisely, this library offers four generators (ALF, MT19937, Standard, XorShift128), six discrete distributions (Bernoulli, Binomial, Categorical, DiscreteUniform, Geometric, Poisson) and twenty continuous distributions (like Normal, Exponential, ChiSquare, Beta, and so on); moreover, it offers a random class similar to the one Python offers (TRandom).
All the hard work behind this library was done by Stefan Troschütz, and for which I thank him very much. What I have done with his great project, was simply to refactor and improve his code, while offering the new random class similar to the one Python offers.
You can find the modified source code and the available documentation at this address: https://bitbucket.org/pomma89/troschuetz.random.
NOTICE: If you need more performance, please have a look at the Troschuetz.Random.Unchecked package. It is a release where all integrity checks have been stripped away.
See the version list below for details.
Install-Package Troschuetz.Random -Version 3.0.0
dotnet add package Troschuetz.Random --version 3.0.0
<PackageReference Include="Troschuetz.Random" Version="3.0.0" />
paket add Troschuetz.Random --version 3.0.0
* Exposed new methods (like NextUInt) through the IGenerator interface. Many thanks to Franklin Ross (alpha_cast) for the suggestion.
This package has no dependencies.