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 am doing with his great project, is 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: http://goo.gl/vIV2G
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 1.5.0
dotnet add package Troschuetz.Random --version 1.5.0
<PackageReference Include="Troschuetz.Random" Version="1.5.0" />
paket add Troschuetz.Random --version 1.5.0
* New "exceptional" behaviour for most properties, that is, exceptions are thrown when operations are not defined or they would go against distributions checks. In previous release those operations used to silently fail (without corrupting instances, of course).
* Library now works fine on .NET framework 2.0, thanks to LinqBridge and Thrower packages.
* New discrete distribution (categorical).
* Tester has been removed, will be shipped as a separate package.
- Thrower (>= 0.9.6)
Showing the top 2 GitHub repositories that depend on Troschuetz.Random:
Brain Simulator is a platform for visual prototyping of artificial intelligence architectures.
.NET Standard roguelike library in C#. Features many algorithms and data structures pertinent to roguelike/2D game developers, specifically designed to be minimally intrusive upon the developer's architecture.