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 toRandom(Rng? rng)— all 17 distribution implementations now acceptPragmastat.Randomization.Rnginstead ofSystem.RandomRandomGeneratorandLimitedRandomGeneratornow useRnginternally- Removed
Shufflerclass — useRng.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