This release significantly expands the RNG uniform API across all language implementations with comprehensive type-specific random number generation methods, and migrates the TypeScript toolchain from npm to pnpm.
Breaking Changes
- All languages: Removed
uniformBoolWithProb/uniform_bool_with_probmethods — Bernoulli distribution belongs in a dedicated distributions module - Rust:
uniform_intrenamed touniform_i64(deprecated alias available) - C#:
UniformIntrenamed toUniformInt64(deprecated alias available) - Go:
UniformIntdeprecated in favor ofUniformInt64
Features
- Rng uniform API expansion (all languages):
uniform_range/UniformRange/uniformRange— generate floats in a specified[min, max)rangeuniform_bool/UniformBool/uniformBool— generate random booleans with P(true) = 0.5- 32-bit float methods:
uniform_f32/UniformSingle/UniformFloat32/uniformFloat32 - Comprehensive integer type coverage:
- Rust:
uniform_i64/i32/i16/i8/isizeanduniform_u64/u32/u16/u8/usize - C#:
UniformInt64/Int32/Int16/Int8andUniformUInt64/UInt32/UInt16/Byte - Go:
UniformInt64/Int32/Int16/Int8/IntNandUniformUint64/Uint32/Uint16/Uint8/UintN - Kotlin:
uniformLong/Int/Short/ByteanduniformULong/UInt/UShort/UByte - TypeScript/Python/R:
uniformRangeanduniformBool
- Rust:
Bug Fixes
- CI: Fixed TypeScript job to use pnpm caching after npm→pnpm migration
Internal
- TypeScript: Migrated from npm to pnpm
- Rust: Replaced deprecated
uniform_intwithuniform_i64in examples and tests - Go: Removed unused
mathimport - Tests: Added cross-language reference test data for
uniform_bool,uniform_f32,uniform_i32, anduniform_range
Full Changelog: https://github.com/AndreyAkinshin/pragmastat/compare/v5.1.0...v5.2.0