This release migrates the random number generation infrastructure from System.Random to Pragmastat's deterministic Rng system (xoshiro256++), enabling cross-platform reproducible random number generation and fixing a bias in the shuffle algorithm.

Breaking Changes

  • IContinuousDistribution.Random(Random? random) signature changed to Random(Rng? rng) — all 17 distribution implementations now accept Pragmastat.Randomization.Rng instead of System.Random
  • RandomGenerator and LimitedRandomGenerator now use Rng internally
  • Removed Shuffler class — use Rng.Shuffle() instead

Bug Fixes

  • Fix biased shuffle algorithm that picked from full range [0, count) instead of shrinking range [0, i+1) (#22)

Internal

  • Upgrade Pragmastat dependency 3.2.4 → 5.1.0
  • Migrate demos, simulations, and all tests to use Rng

Full Changelog: https://github.com/AndreyAkinshin/perfolizer/compare/v0.6.1...v0.6.2