Hawkynt.RandomNumberGenerators
1.0.0.38
dotnet add package Hawkynt.RandomNumberGenerators --version 1.0.0.38
NuGet\Install-Package Hawkynt.RandomNumberGenerators -Version 1.0.0.38
<PackageReference Include="Hawkynt.RandomNumberGenerators" Version="1.0.0.38" />
<PackageVersion Include="Hawkynt.RandomNumberGenerators" Version="1.0.0.38" />
<PackageReference Include="Hawkynt.RandomNumberGenerators" />
paket add Hawkynt.RandomNumberGenerators --version 1.0.0.38
#r "nuget: Hawkynt.RandomNumberGenerators, 1.0.0.38"
#:package Hawkynt.RandomNumberGenerators@1.0.0.38
#addin nuget:?package=Hawkynt.RandomNumberGenerators&version=1.0.0.38
#tool nuget:?package=Hawkynt.RandomNumberGenerators&version=1.0.0.38
Hawkynt.RandomNumberGenerators
Overview
This C# project provides a comprehensive library of random number generators (RNGs) tailored for various applications, including cryptographic, deterministic, and non-uniform number generation. The library is modular, allowing users to select specific RNGs or combine them as needed.
You can find additional info in the original article about it.
Project Structure
The project is organized into the following directories:
- Composites: Contains classes that combine multiple RNGs to create more complex or resilient generators.
- Cryptographic: Includes RNGs designed for cryptographic applications, focusing on security and unpredictability.
- Deterministic: Contains deterministic RNGs, which generate reproducible sequences of numbers given the same initial seed.
- Interfaces: Defines enums and interfaces that the RNGs in this library implement, ensuring consistency and interoperability.
- NonUniform: Includes RNGs that produce non-uniform distributions, such as Gaussian or Poisson distributions.
Getting Started
Prerequisites
- .NET SDK installed on your machine.
Building the Project
To build the project, navigate to the project directory and run:
dotnet build
Running Tests
If the project includes unit tests (typically in a Tests
or similar directory), you can run them using:
dotnet test
Using the Library
You can reference this library in your projects by adding the RandomNumberGenerators
project as a dependency or by including the compiled DLL in your project.
Example Usage
using RandomNumberGenerators.Interfaces;
public class Program {
static void Main() {
IRandomNumberGenerator rng = new SomeSpecificRNG();
ulong randomNumber = rng.Next();
Console.WriteLine(randomNumber);
}
}
Replace SomeSpecificRNG
with the actual class name of the RNG you wish to use.
Contributing
Contributions are welcome! Please feel free to submit issues, fork the repository, and send pull requests.
License
This project is licensed under the LGPL License. See the LICENSE
file for more details.
Contact
For any questions or issues, please open an issue on the GitHub repository or contact the maintainers.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- FrameworkExtensions.Corlib (>= 1.0.2.416)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.