Add benchmark for large BigIntegers
Add tests for averaging integer distributions
Use TheoryData for Uniform.BigInteger and Uniform.Decimal tests
Attempt to fix exception in Test Discovery on .NET Framework 4.8 for a fourth time
Attempt to fix exception in Test Discovery on .NET Framework 4.8 for a third time
Attempt to fix exception in Test Discovery on .NET Framework 4.8 again
Attempt to fix exception in Test Discovery on .NET Framework 4.8
Add benchmark for Uniform.BigInteger distribution
Fix UniformBigInteger distribution failing on .NET Standard 2.1
Allow Uniform.BigInteger to be used on .NET Standard 2.0 and 2.1
Add Uniform BigInteger distribution for .NET 6 and above
Fix minor documentation issues and update floating point tests
Merge commit
Remove redundant NextUInt128 method
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.
Improve speed of Uniform.Int128 distribution This switches Int128 to use the same widening multiplication algorithm that UInt128 now uses.
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.
Bump preprocessor conditionals to check for .NET 8 instead of 7
Downgrade Tests packages to maintain ability to test .NET Standard 2.1
Fix BenchmarkDotNet refusing to run on non-Windows platforms