public void PassTest() { PrimeSieve pgAtkin = new SieveOfAtkin(100); Ticker t = new Ticker(); foreach (int i in pgAtkin) { MillerRabin.MillerRabinPass(2, i); } t.Tick("2Pass"); foreach (int i in pgAtkin) { MillerRabin.MillerRabinPass(3, i); } t.Tick("3Pass"); foreach (int i in pgAtkin) { MillerRabin.MillerRabinPass(7, i); } t.Tick("7Pass"); foreach (int i in pgAtkin) { MillerRabin.MillerRabinPass(61, i); } t.Tick("61Pass"); }
private void GetPrimesAtkin() { var a = new SieveOfAtkin((ulong)range); Debug.Log($"Total {a.Count} prime numbers in range {range}"); }
public Problem3(ulong upperLimit) { _Sieve = new SieveOfAtkin(upperLimit); }
public static void GeneratePrimesUpTo(string test, int max, params int[] expectedResult) { var result = SieveOfAtkin.GeneratePrimesUpTo(max); Assert.True(result.SequenceEqual(expectedResult), test); }