diff --git a/src/Numerics.Tests/Random/RandomExtensionTests.cs b/src/Numerics.Tests/Random/RandomExtensionTests.cs index 5bb84713..99c732c2 100644 --- a/src/Numerics.Tests/Random/RandomExtensionTests.cs +++ b/src/Numerics.Tests/Random/RandomExtensionTests.cs @@ -29,8 +29,6 @@ using MathNet.Numerics.Random; using NUnit.Framework; -using System.Numerics; -using System.Collections.Generic; namespace MathNet.Numerics.UnitTests.Random { @@ -50,22 +48,6 @@ namespace MathNet.Numerics.UnitTests.Random rnd.NextInt64(); } - /// - /// Can sample BigInteger - /// - [Test] - public void CanSampleBigInteger() - { - var rnd = new System.Random(0); - IEnumerator Sequence = rnd.NextBigIntegerSequence((BigInteger)long.MinValue * 3, (BigInteger)long.MaxValue * 3).GetEnumerator(); - Sequence.MoveNext(); - System.Console.WriteLine(Sequence.Current); - Sequence.MoveNext(); - System.Console.WriteLine(Sequence.Current); - Sequence.MoveNext(); - System.Console.WriteLine(Sequence.Current); - } - /// /// Can sample full range int32. /// diff --git a/src/Numerics/Random/RandomExtensions.cs b/src/Numerics/Random/RandomExtensions.cs index 0ba53982..c351e3d8 100644 --- a/src/Numerics/Random/RandomExtensions.cs +++ b/src/Numerics/Random/RandomExtensions.cs @@ -29,8 +29,6 @@ using System; using System.Collections.Generic; -using System.Numerics; -using System.Linq; namespace MathNet.Numerics.Random { @@ -169,7 +167,7 @@ namespace MathNet.Numerics.Random } /// - /// Returns an infinite sequence of uniform random 32-bit signed integers within the specified range. + /// Returns an infinite sequence of uniform random numbers greater than or equal to 0.0 and less than 1.0. /// /// /// This extension is thread-safe if and only if called on an random number @@ -193,34 +191,6 @@ namespace MathNet.Numerics.Random } } - /// - /// Returns an infinite sequence of uniform random within the specified range. - /// - /// - /// This extension is thread-safe if and only if called on an random number - /// generator provided by Math.NET Numerics or derived from the RandomSource class. - /// - public static IEnumerable NextBigIntegerSequence(this System.Random rnd, BigInteger minInclusive, BigInteger maxExclusive) - { - BigInteger AbsoluteRange = maxExclusive - minInclusive; - int NumBytes = (int)Math.Ceiling(BigInteger.Log(AbsoluteRange, byte.MaxValue) * 2); - byte[] ByteSequence = Enumerable.Repeat(byte.MaxValue, NumBytes + 1).ToArray(); - ByteSequence[NumBytes] = 0; - BigInteger RandomNumber = new BigInteger(ByteSequence); - BigInteger ValidRange = RandomNumber - RandomNumber % AbsoluteRange; - while(true) - { - do - { - rnd.NextBytes(ByteSequence); - ByteSequence[NumBytes] = 0; - RandomNumber = new BigInteger(ByteSequence); - } - while (RandomNumber >= ValidRange); - yield return RandomNumber % AbsoluteRange + minInclusive; - } - } - /// /// Returns a nonnegative random number less than . ///