Skip to content

Releases: ociaw/RandN

Version 0.4.0

04 Apr 07:19
Compare
Choose a tag to compare

Full Changelog

  • Added .NET 6 and .NET 7 targets
  • (Breaking Change) Dropped .NET 5 target
  • Deprecated the CryptoServiceProvider RNG due to deprecation of RNGCryptoServiceProvider
  • Added the SystemCryptoRNG to replace CryptoServiceProvider
  • Added the Singleton distribution
  • Added Select and SelectMany extension methods for IDistribution
  • Support for SIMD acceleration of ChaCha on ARM when running on .NET 7 or later

RandN.Core

  • Added .NET 6 and .NET 7 targets
  • (Breaking Change) Dropped .NET 5 target
  • Added nullable annotations to IDistribution<T>.TrySample

Version 0.3.0

20 Jun 19:03
Compare
Choose a tag to compare
  • Moved the IDistribution and IPortableDistribution interfaces to RandN.Core
  • Removed NullGuard.Fody from public dependencies - this was only needed for build and was being
    unnecessarily included in all dependents.
  • Fixed tests failing to run on Mono.

Version 0.2.0

21 Dec 01:25
Compare
Choose a tag to compare

New APIs

Updated APIs

Removed APIs

  • Removed the Sample extension methods - these were questionably useful, and could be up to four times slower than their non-extension counterpart, IDistribution.Sample.

Bug fixes

  • Distributions returning floating point numbers would sometimes sample a number outside the desired range on .NET Framework x86, which can use 80-bit floating point calculations, instead of 64-bit. Results are now forced to 64-bit precision before returning.
  • BitwiseExtensions.RotateRight now rotates bits right instead of left on .NET Core 3.1+.
  • All places where overflow is expected is now wrapped with unchecked.

Miscellaneous

  • Full test coverage, excluding portions that can't be tested without a big-endian processor.
  • Pure methods and properties in RandN.Core have been marked with the [Pure] attribute.
  • Use of C# 9 features across the board where possible.
  • Fixed a bunch of things suggested by ReSharper.
  • More benchmarks have been added.

Version 0.1.0

20 Jun 15:09
Compare
Choose a tag to compare
v0.1.0

Bump version to 0.1.0

Version 0.1.0 beta

16 Jun 00:36
Compare
Choose a tag to compare
Version 0.1.0 beta Pre-release
Pre-release

Beta of first release