Add benchmark for large BigIntegers
d61ccbf51131 — Michael Johnson 3 months ago
Add tests for averaging integer distributions
82db35f9fdbc — Michael Johnson 3 months ago
Use TheoryData for Uniform.BigInteger and Uniform.Decimal tests
2c60d74304f2 — Michael Johnson 3 months ago
Attempt to fix exception in Test Discovery on .NET Framework 4.8 for a fourth time
7a41d83609df — Michael Johnson 3 months ago
Attempt to fix exception in Test Discovery on .NET Framework 4.8 for a third time
abe6eb09e0c1 — Michael Johnson 3 months ago
Attempt to fix exception in Test Discovery on .NET Framework 4.8 again
e67df4e0feea — Michael Johnson 3 months ago
Attempt to fix exception in Test Discovery on .NET Framework 4.8
ba541393a93d — Michael Johnson 3 months ago
Add benchmark for Uniform.BigInteger distribution
1dc019b7202c — Michael Johnson 3 months ago
Fix UniformBigInteger distribution failing on .NET Standard 2.1
5bf55325e777 — Michael Johnson 3 months ago
Allow Uniform.BigInteger to be used on .NET Standard 2.0 and 2.1
fa22a6512eb1 — Michael Johnson 3 months ago
Add Uniform BigInteger distribution for .NET 6 and above
c9cab482b09c — Michael Johnson 3 months ago
Fix minor documentation issues and update floating point tests
dc6e5e3a283e — Michael Johnson 3 months ago
Merge commit
7fa7738f5bfd — Michael Johnson 3 months ago
Remove redundant NextUInt128 method
7d14cc53d8fc — Michael Johnson 3 months ago
Fix failure to use optimized bitwise operations instead of backwards-compatible versions

DefineConstants may only be used once per property group, but we used 3 in a single group. This meant that only the last one, BITWISE_FLOAT_CONVERSION was defined. BitOperations.RotateLeft and RotateRight were not used when they should have, and the heap-allocating overload of Decimal.GetBits was used instead of the Span overload.
2461c7257e9d — Michael Johnson 3 months ago
Improve speed of Uniform.Int128 distribution

This switches Int128 to use the same widening multiplication algorithm that UInt128 now uses.
91ab0d0e0cc3 — Michael Johnson 3 months ago
Improve speed of Uniform.UInt128 distribution

This was originally using the simple modulus operation, but this is extremely expensive for 128 bit integers. To avoid division, we instead use widening multiplication to map the generated 128-bit integer to the given range. As this is just multiplication, it is much cheaper.
5226ca87647d — Michael Johnson 4 months ago
Bump preprocessor conditionals to check for .NET 8 instead of 7
fff0daea383a — Michael Johnson 4 months ago
Downgrade Tests packages to maintain ability to test .NET Standard 2.1
54f6eac2ba46 — Michael Johnson 4 months ago
Fix BenchmarkDotNet refusing to run on non-Windows platforms
Next