Redzen 13.0.0

.NET 6.0
Install-Package Redzen -Version 13.0.0
dotnet add package Redzen --version 13.0.0
<PackageReference Include="Redzen" Version="13.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Redzen --version 13.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Redzen, 13.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Redzen as a Cake Addin
#addin nuget:?package=Redzen&version=13.0.0

// Install Redzen as a Cake Tool
#tool nuget:?package=Redzen&version=13.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

General purpose C# code library.

Product Versions
.NET net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Redzen:

Package Downloads
SharpNeatLib

SharpNEAT - Evolution of Neural Networks.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Redzen:

Repository Stars
colgreen/sharpneat
SharpNEAT - Evolution of Neural Networks. A C# .NET Framework.
Version Downloads Last updated
13.0.0 261 1/9/2022
12.0.0 2,935 3/14/2021
11.0.0 2,287 8/2/2020
10.0.0 423 6/28/2020
9.1.3 146 12/30/2021
9.1.2 498 11/8/2020
9.1.1 3,047 7/5/2020
9.1.0 375 6/14/2020
9.0.0 1,474 4/24/2019
8.0.0 1,059 1/22/2019
7.2.3 1,185 6/23/2018
7.2.2 718 6/13/2018
7.2.1 862 5/20/2018
7.2.0 716 5/19/2018
7.1.0 703 5/18/2018
7.0.1 839 5/11/2018
7.0.0 788 5/10/2018
6.0.0 757 5/8/2018
5.0.0 744 4/23/2018
4.0.0 1,293 1/27/2018
3.0.2 1,958 4/23/2017
3.0.1 734 3/29/2017
3.0.0 690 3/29/2017
2.0.0 781 3/11/2017
1.0.5 2,001 3/9/2016
1.0.4 1,040 2/14/2016
1.0.3 1,009 2/6/2016
1.0.2 999 2/6/2016
1.0.1 968 2/5/2016
1.0.0.1 1,061 11/7/2015

General
- Target framework upgraded from net5.0 to net6.0; this allows use of some new API surface in net6.

Fixes
- BoxMullerGaussianSampler, ZiggurateSampler, BoxMullerGaussianStatelessSampler, ZigguratGaussianStatelessSampler: Fixed Span based Sampler methods to use defined distribution mean and standard deviation.

Breaking Changes
- Moved Shuffle(Span{T}) from SortUtils to SpanUtils.
- Deleted ListSortUtils.Shuffle(IList{T}), as this can now be achieved more cleanly and efficiently using CollectionsMarshall.AsSpan() and SpanUtils.Shuffle().
- Deleted ParallelSort. For most cases a multi-threaded sort is not a good choice, and for those cases where it may be a good choice, doing it with pure quicksort implemented with Parallel.Invoke() is likely not a good choice.
- Deleted ListSortUtils. For these methods that operate on IList{T} (and in one case List{T}), this functionality can now be achieved by using the Span based methods in SortUtils, in combination with CollectionsMarshal.AsSpan(). Keeping this code would just create maintenance overhead for code that exists only for legacy reasons.

New
- Added WyRandom PRNG class. This has superior statistical qualities compared to the xoshiro PRNGs, and performs at about the same speed on x86 systems with the BMI2 MULX instructions.
- Added DoubleUtils, SingleUtils, with methods IsNonNegativeReal(), IsPositiveReal(), AllNonNegativeReal(Span), AllPositiveReal(Span).
- MathSpan(): Added methods Multiply(Span,Span) for type double, float and Int32.
- IStatelessSampler: Added Sample(out T x, IRandomSource rng) method.
- ISampler: Added void Sample(out T x) for fast ref based sampling directly into an existing variable.
- Added missing class Float.BoxMullerGaussianStatelessSampler.
- ZigguratGaussian: Added void Sample(IRandomSource rng, out double x) method for fast ref based sampling directly into an existing variable.
- Added SortUtils.SortUnstable() method; for spans of IComparable{T} types.

Improvements
- DefaultRandomSeedSource: Use RandomNumberGenerator.Fill() instead of RNGCryptoServiceProvider.GetBytes() (now deprecated).
- SortUtils.IsSortedAscending: Significant performance improvements for native primitive types, by use of native comparison operators for those types.
- DiscreteDistribution: Added check for non-legal probability values. Use vectorized span sum and multiplication. Micro-optimizations.
- ZigguratGaussian, UniformDistribution: micro-optimizations: Set sign bit directly instead of conditional multiply by -1.
- ZigguratGaussian micro-optimization: Replace single divide op with multiply by reciprocal.
- Enabled SkipLocalsInit compiler setting. This provides a small performance benefit to most (all?) methods.